CVE-2024-24806 (GCVE-0-2024-24806)
Vulnerability from cvelistv5
Published
2024-02-07 21:44
Modified
2025-06-17 14:17
CWE
  • CWE-918 - Server-Side Request Forgery (SSRF)
Summary
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.
Impacted products
Vendor Product Version
libuv libuv Version: >= 1.45.0, < 1.48.0
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-09-02T17:08:43.903Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "name": "https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6",
            "tags": [
              "x_refsource_CONFIRM",
              "x_transferred"
            ],
            "url": "https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6"
          },
          {
            "name": "https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629"
          },
          {
            "name": "https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70"
          },
          {
            "name": "https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488"
          },
          {
            "name": "https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "http://www.openwall.com/lists/oss-security/2024/02/08/2"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "http://www.openwall.com/lists/oss-security/2024/02/11/1"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://lists.debian.org/debian-lts-announce/2024/03/msg00005.html"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "http://www.openwall.com/lists/oss-security/2024/03/11/1"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://security.netapp.com/advisory/ntap-20240605-0008/"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://gitlab.kitware.com/cmake/cmake/-/issues/26112"
          }
        ],
        "title": "CVE Program Container",
        "x_generator": {
          "engine": "ADPogram 0.0.1"
        }
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-24806",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-02-21T20:41:52.764681Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-06-17T14:17:09.153Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "libuv",
          "vendor": "libuv",
          "versions": [
            {
              "status": "affected",
              "version": "\u003e= 1.45.0, \u003c 1.48.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "LOW",
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-918",
              "description": "CWE-918: Server-Side Request Forgery (SSRF)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-07-18T00:17:58.651Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6"
        },
        {
          "name": "https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629"
        },
        {
          "name": "https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70"
        },
        {
          "name": "https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488"
        },
        {
          "name": "https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39"
        },
        {
          "url": "http://www.openwall.com/lists/oss-security/2024/02/08/2"
        },
        {
          "url": "http://www.openwall.com/lists/oss-security/2024/02/11/1"
        },
        {
          "url": "https://lists.debian.org/debian-lts-announce/2024/03/msg00005.html"
        },
        {
          "url": "http://www.openwall.com/lists/oss-security/2024/03/11/1"
        },
        {
          "url": "https://security.netapp.com/advisory/ntap-20240605-0008/"
        },
        {
          "url": "https://gitlab.kitware.com/cmake/cmake/-/issues/26112"
        }
      ],
      "source": {
        "advisory": "GHSA-f74f-cvh7-c6q6",
        "discovery": "UNKNOWN"
      },
      "title": "Improper Domain Lookup that potentially leads to SSRF attacks in libuv"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2024-24806",
    "datePublished": "2024-02-07T21:44:33.566Z",
    "dateReserved": "2024-01-31T16:28:17.940Z",
    "dateUpdated": "2025-06-17T14:17:09.153Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6\", \"name\": \"https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6\", \"tags\": [\"x_refsource_CONFIRM\", \"x_transferred\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629\", \"name\": \"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70\", \"name\": \"https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488\", \"name\": \"https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39\", \"name\": \"https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39\", \"tags\": [\"x_refsource_MISC\", \"x_transferred\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/02/08/2\", \"tags\": [\"x_transferred\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/02/11/1\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2024/03/msg00005.html\", \"tags\": [\"x_transferred\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/03/11/1\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://security.netapp.com/advisory/ntap-20240605-0008/\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://gitlab.kitware.com/cmake/cmake/-/issues/26112\", \"tags\": [\"x_transferred\"]}], \"x_generator\": {\"engine\": \"ADPogram 0.0.1\"}, \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-09-02T17:08:43.903Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-24806\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-02-21T20:41:52.764681Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-06-17T14:17:04.315Z\"}}], \"cna\": {\"title\": \"Improper Domain Lookup that potentially leads to SSRF attacks in libuv\", \"source\": {\"advisory\": \"GHSA-f74f-cvh7-c6q6\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"LOW\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"LOW\"}}], \"affected\": [{\"vendor\": \"libuv\", \"product\": \"libuv\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003e= 1.45.0, \u003c 1.48.0\"}]}], \"references\": [{\"url\": \"https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6\", \"name\": \"https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629\", \"name\": \"https://github.com/libuv/libuv/commit/0f2d7e784a256b54b2385043438848047bc2a629\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70\", \"name\": \"https://github.com/libuv/libuv/commit/3530bcc30350d4a6ccf35d2f7b33e23292b9de70\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488\", \"name\": \"https://github.com/libuv/libuv/commit/c858a147643de38a09dd4164758ae5b685f2b488\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39\", \"name\": \"https://github.com/libuv/libuv/commit/e0327e1d508b8207c9150b6e582f0adf26213c39\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/02/08/2\"}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/02/11/1\"}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2024/03/msg00005.html\"}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/03/11/1\"}, {\"url\": \"https://security.netapp.com/advisory/ntap-20240605-0008/\"}, {\"url\": \"https://gitlab.kitware.com/cmake/cmake/-/issues/26112\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-918\", \"description\": \"CWE-918: Server-Side Request Forgery (SSRF)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-07-18T00:17:58.651Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-24806\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-06-17T14:17:09.153Z\", \"dateReserved\": \"2024-01-31T16:28:17.940Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-02-07T21:44:33.566Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…