{"schema_version":"1.9.0","id":"CVE-2024-24806","published":"2024-02-07T21:44:33.566Z","modified":"2026-08-12T14:52:04.511713Z","aliases":["GHSA-f74f-cvh7-c6q6"],"related":["ALSA-2024:4247","ALSA-2024:4756","CGA-h6rv-qfmq-rx67","SUSE-SU-2024:0643-1","SUSE-SU-2024:0644-1","SUSE-SU-2024:0728-1","SUSE-SU-2024:0729-1","SUSE-SU-2024:0730-1","SUSE-SU-2024:0731-1","SUSE-SU-2024:0732-1","SUSE-SU-2024:0733-1","SUSE-SU-2024:1301-1","SUSE-SU-2024:1307-1","SUSE-SU-2024:1309-1","SUSE-SU-2024:4109-1","openSUSE-SU-2024:13697-1","openSUSE-SU-2024:13818-1"],"summary":"Improper Domain Lookup that potentially leads to SSRF attacks in libuv","details":"libuv is a multi-platform support library with a focus on asynchronous I/O. The `uv_getaddrinfo` function in `src/unix/getaddrinfo.c` (and its windows counterpart `src/win/getaddrinfo.c`), truncates hostnames to 256 characters before calling `getaddrinfo`. This behavior can be exploited to create addresses like `0x00007f000001`, which are considered valid by `getaddrinfo` and could allow an attacker to craft payloads that resolve to unintended IP addresses, bypassing developer checks. The vulnerability arises due to how the `hostname_ascii` variable (with a length of 256 bytes) is handled in `uv_getaddrinfo` and subsequently in `uv__idna_toascii`. When the hostname exceeds 256 characters, it gets truncated without a terminating null byte. As a result attackers may be able to access internal APIs or for websites (similar to MySpace) that allows users to have `username.example.com` pages. Internal services that crawl or cache these user pages can be exposed to SSRF attacks if a malicious user chooses a long vulnerable username. This issue has been addressed in release version 1.48.0. Users are advised to upgrade. There are no known workarounds for this vulnerability.","affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/libuv/libuv","events":[{"introduced":"2d427ee0083d1baf995df4ebf79a3f8890e9a3e1"},{"fixed":"e9f29cb984231524e3931aa0ae2c5dae1a32884e"},{"fixed":"0f2d7e784a256b54b2385043438848047bc2a629"},{"fixed":"3530bcc30350d4a6ccf35d2f7b33e23292b9de70"},{"fixed":"c858a147643de38a09dd4164758ae5b685f2b488"},{"fixed":"e0327e1d508b8207c9150b6e582f0adf26213c39"}],"database_specific":{"cpe":"cpe:2.3:a:libuv:libuv:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"1.24.0"},{"fixed":"1.48.0"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["v1.47.0","v1.46.0","v1.44.2","v1.44.1","v1.44.0","v1.43.0","v1.42.0","v1.41.0","v1.40.0","v1.39.0","v1.38.1","v1.38.0","v1.37.0","v1.36.0","v1.35.0","v1.34.2","v1.34.1","v1.34.0","v1.33.1","v1.33.0","v1.32.0","v1.31.0","v1.30.1","v1.30.0","v1.29.1","v1.29.0","v1.28.0","v1.27.0","v1.26.0","v1.25.0","v1.24.1","v1.24.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-24806.json","vanir_signatures":[{"deprecated":false,"digest":{"line_hashes":["36052731396975815593051392298631695129","138185195450112492093990130663662821513","57447794014902410402413391756700698064","328049064126556106362650949779702968408","56744866754590743737657196936476007964"],"threshold":0.9},"id":"CVE-2024-24806-3f6702b4","signature_type":"Line","signature_version":"v1","source":"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629","target":{"file":"src/idna.c"}},{"deprecated":false,"digest":{"function_hash":"92294838630563651402916640142892564580","length":719},"id":"CVE-2024-24806-5536ab04","signature_type":"Function","signature_version":"v1","source":"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629","target":{"file":"src/idna.c","function":"uv__idna_toascii"}},{"deprecated":false,"digest":{"line_hashes":["163251353586889947845198839414187020299","248421651170021667386182146025820735890","279283566905964610754803412897317818467","185764376708248476805559661489016467128","327559626999656169648926728869817725172","323963463716820214911268153576220541048","260295975290304150387390342702331299746"],"threshold":0.9},"id":"CVE-2024-24806-67b97e45","signature_type":"Line","signature_version":"v1","source":"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629","target":{"file":"test/test-idna.c"}},{"deprecated":false,"digest":{"function_hash":"263238140519331999143321174713284799451","length":311},"id":"CVE-2024-24806-dc08af7f","signature_type":"Function","signature_version":"v1","source":"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629","target":{"file":"test/test-idna.c","function":"TEST_IMPL"}}],"vanir_signatures_modified":"2026-08-12T14:52:04Z"}}],"references":[{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2024/02/08/2"},{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2024/02/11/1"},{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2024/03/11/1"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2024/03/msg00005.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/24xxx/CVE-2024-24806.json"},{"type":"ADVISORY","url":"https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-24806"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20240605-0008/"},{"type":"REPORT","url":"https://gitlab.kitware.com/cmake/cmake/-/issues/26112"},{"type":"FIX","url":"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629"},{"type":"FIX","url":"https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70"},{"type":"FIX","url":"https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488"},{"type":"FIX","url":"https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39"}],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-918"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/24xxx/CVE-2024-24806.json"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L"}]}