CVE-2024-3651: Denial of Service via Quadratic Complexity in kjd/idna

Published Apr 11, 2024
·
Updated

[potential DoS via resource consumption via specially crafted inputs to idna.encode()]

Other sources

Impact A specially crafted argument to the idna.encode() function could consume significant resources. This may lead to a denial-of-service.

Patches The function has been refined to reject such strings without the associated resource consumption in version 3.7.

Workarounds Domain names cannot exceed 253 characters in length, if this length limit is enforced prior to passing the domain to the idna.encode() function it should no longer consume significant resources. This is triggered by arbitrarily large inputs that would not occur in normal usage, but may be passed to the library assuming there is no preliminary input validation by the higher-level application.

References https://huntr.com/bounties/93d78d07-d791-4b39-a845-cbfabc44aadb

GitHub

A specially crafted argument to the idna.encode() function could consume significant resources. This may lead to a denial-of-service.

Reference: https://github.com/kjd/idna/security/advisories/GHSA-jjg7-2v4v-x38h

Red Hat

A vulnerability was identified in the kjd/idna library, specifically within the idna.encode() function, affecting version 3.6. The issue arises from the function's handling of crafted input strings, which can lead to quadratic complexity and consequently, a denial of service condition. This vulnerability is triggered by a crafted input that causes the idna.encode() function to process the input with considerable computational load, significantly increasing the processing time in a quadratic manner relative to the input size.

NVD

Affected Software

4 affected componentsFixes available
debian/python-idna<=2.6-1, <=2.10-1, <=3.3-1, <=3.6-2
2.6-1+deb10u1
kjd Internationalized Domain Names In Applications=3.6
pip/idna<3.7
3.7
kjd Internationalized Domain Names In Applications>=0.2<3.7

Event History

Apr 11, 2024
Advisory Published
via GitHub·09:32 PM
Apr 12, 2024
Data Sourced
via Red Hat·07:20 PM
DescriptionSeverityAffected Software
Apr 23, 2024
CVE Published
via Ubuntu·12:00 AM
Data Sourced
via Ubuntu·12:00 AM
RemedyDescriptionSeverityAffected Software
Jul 7, 2024
CVE Published
via MITRE·05:22 PM
Data Sourced
via MITRE·05:22 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jan 30, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-3651?

CVE-2024-3651 has the potential to lead to a denial-of-service due to resource consumption.

2

How do I fix CVE-2024-3651?

To address CVE-2024-3651, update to the fixed version of the 'idna' library or the relevant packages as specified in the advisory.

3

Which software is affected by CVE-2024-3651?

CVE-2024-3651 affects specific versions of 'idna' and 'python-idna', as well as IBM MQ Operator and its corresponding container images.

4

What type of attack does CVE-2024-3651 facilitate?

CVE-2024-3651 facilitates a denial-of-service attack by consuming excessive resources through specially crafted inputs.

5

What are the recommended versions to mitigate CVE-2024-3651?

To mitigate CVE-2024-3651, it is recommended to use 'idna' version 3.7 or later, or the corresponding patched versions of 'python-idna' and IBM MQ products.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203