First published: Thu Apr 11 2024(Updated: )
### 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
Affected Software | Affected Version | How to fix |
---|---|---|
pip/idna | <3.7 | 3.7 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of GHSA-jjg7-2v4v-x38h is categorized as a denial-of-service vulnerability.
To fix GHSA-jjg7-2v4v-x38h, upgrade the idna package to version 3.7 or later.
The symptoms of GHSA-jjg7-2v4v-x38h include excessive resource consumption leading to a potential denial-of-service.
Versions of idna prior to 3.7 are affected by GHSA-jjg7-2v4v-x38h.
GHSA-jjg7-2v4v-x38h is caused by a specially crafted argument to the idna.encode() function.