libcurl's URL API function [curl_url_get()](https://curl.se/libcurl/c/curl_url_get.html) offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the *macidn* IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string. This flaw can lead to stack contents accidently getting returned as part of the converted string.
The product reads data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://curl.se/docs/CVE-2024-6874.json | vendor advisory |
https://curl.se/docs/CVE-2024-6874.html | vendor advisory |
https://hackerone.com/reports/2604391 | issue tracking exploit technical description |
http://www.openwall.com/lists/oss-security/2024/07/24/2 | third party advisory mailing list |
https://security.netapp.com/advisory/ntap-20240822-0004/ |