{
  "schema_version": "1.5.0",
  "id": "CURL-CVE-2023-38039",
  "aliases": [
    "CVE-2023-38039"
  ],
  "summary": "HTTP headers eat all memory",
  "modified": "2026-04-25T17:48:46.00Z",
  "database_specific": {
    "package": "curl",
    "affects": "both",
    "URL": "https://curl.se/docs/CVE-2023-38039.json",
    "www": "https://curl.se/docs/CVE-2023-38039.html",
    "issue": "https://hackerone.com/reports/2072338",
    "CWE": {
      "id": "CWE-770",
      "desc": "Allocation of Resources Without Limits or Throttling"
    },
    "award": {
      "amount": "2540",
      "currency": "USD"
    },
    "last_affected": "8.2.1",
    "severity": "Medium"
  },
  "published": "2023-09-13T08:00:00.00Z",
  "affected": [
    {
      "ranges": [
        {
           "type": "SEMVER",
           "events": [
             {"introduced": "7.84.0"},
             {"fixed": "8.3.0"}
           ]
        },
        {
           "type": "GIT",
           "repo": "https://github.com/curl/curl.git",
           "events": [
             {"introduced": "4d94fac9f0d1dd02b8308291e4c47651142dc28b"},
             {"fixed": "3ee79c1674fd6f99e8efca52cd7510e08b766770"}
           ]
        }
      ],
      "versions": [
        "8.2.1", "8.2.0", "8.1.2", "8.1.1", "8.1.0", "8.0.1", "8.0.0", 
        "7.88.1", "7.88.0", "7.87.0", "7.86.0", "7.85.0", "7.84.0"
      ]
    }
  ],
  "credits": [
    {
      "name": "selmelc on hackerone",
      "type": "FINDER"
    },
    {
      "name": "Daniel Stenberg",
      "type": "REMEDIATION_DEVELOPER"
    }
  ],
  "details": "When curl retrieves an HTTP response, it stores the incoming headers so that\nthey can be accessed later via the libcurl headers API.\n\nHowever, curl did not have a limit on the size or quantity of headers it would\naccept in a response, allowing a malicious server to stream an endless series\nof headers to a client and eventually cause curl to run out of heap memory."
}