Skip to main content
Public proof of conceptFix available

CVE-2024-24806

A public proof of concept exists; no exploitation attested.

  • Published2024-02-07
  • Fixed in1.48.0
  • WeaknessCWE-918

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2024-02-0722:15CVE publishedNVD

Versions per branch

NVD
Libuv
BranchAffectedFixed in
1.x≥ 1.24.0, < 1.48.01.48.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Products declared by the CNA1 product

As GitHub_M, the CNA that assigned this CVE, declared them in the CVE record; versions as written.

  • libuv
    Affected
    • = >= 1.45.0, < 1.48.0no fix stated

Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2024-07-18

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • cmakeAzure Linux:3all versions · fixed in 3.28.2-6
  • libuvWolfiall versions · fixed in 1.48.0-r0
  • libuvTuxCare:AlmaLinux:9.2all versions · fixed in 1:1.42.0-1.el9.tuxcare.els1and 2 other packages
  • libuvSUSE:Linux Enterprise Module for Basesystem 15 SP6all versions · fixed in 1.44.2-150500.3.5.1
  • libuvSUSE:Linux Enterprise Module for Basesystem 15 SP5all versions · fixed in 1.44.2-150500.3.5.1
  • libuvSUSE:Linux Enterprise Micro 5.5all versions · fixed in 1.44.2-150500.3.5.1
  • libuvRocky Linux:9all versions · fixed in 1:1.42.0-2.el9_4
  • libuvRocky Linux:8all versions · fixed in 1:1.41.1-2.el8_10

100 more package ranges on OSV.dev

Vendor advisories

  • CVE-2024-24806 Red Hat Product Security93 products fixed · 6 known affected

    libuv: Improper Domain Lookup that potentially leads to SSRF attacks

    nodejs as a component of Red Hat Enterprise Linux 9 · nodejs-docs as a component of Red Hat Enterprise Linux 9 · nodejs-full-i18n as a component of Red Hat Enterprise Linux 9 · +3 more

  • ICSA-24-319-08 CISA1 known affected

    Siemens SINEC INS

    SINEC INS

  • SSA-915275 Siemens ProductCERT1 known affected

    SSA-915275: Multiple Vulnerabilities in SINEC INS Before V1.0 SP2 Update 3

    SINEC INS

  • RHSA-2024:8132 Red Hat Product Security31 products fixed

    Red Hat Security Advisory: libuv security update

  • RHSA-2024:4756 Red Hat Product Security31 products fixed

    Red Hat Security Advisory: libuv security update

  • RHSA-2024:4247 Red Hat Product Security31 products fixed

    Red Hat Security Advisory: libuv security update

Full record on NVD

Fix

  1. Update Libuv to 1.48.0
  2. Vendor fix Siemens ProductCERT SSA-915275 · 1 productUpdate to V1.0 SP2 Update 3 or later version
  3. Vendor fix CISA ICSA-24-319-08 · 1 productUpdate to V1.0 SP2 Update 3 or later version
  4. Vendor fix Red Hat Product Security RHSA-2024:8132 · 31 productsFor details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258
  5. Workaround from the vendor Red Hat Product Security RHSA-2024:8132 · 31 productsMitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.
  6. No fix planned, says the vendor Red Hat Product Security CVE-2024-24806 · 6 productsWill not fix

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

  • CISA-ADPSSVC decisionpoc2024-02-21
  • CNACVSS 3.17.3known since 2026-10-23
  • NVDCVSS 3.17.3read 2026-10-23
  • CNAweakness (CWE)CWE-918known since 2026-10-23
  • FIRST EPSSEPSS score2.0 %2026-11-08
  • OSVaffected packages—

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Published
2024-02-07
Last Modified
2026-06-17
NVD status
Modified

Frequently asked questions

What is CVE-2024-24806?

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.

Is CVE-2024-24806 actively exploited?

A proof-of-concept exploit exists for CVE-2024-24806, but active exploitation has not been confirmed at this time.

What is the CVSS score for CVE-2024-24806?

CVE-2024-24806 has a CVSS v3 base score of 7.3 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L.

Running libuv? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record