{
  "schema_version": "1.5.0",
  "id": "CURL-CVE-2026-107929",
  "aliases": [
    "CVE-2026-107929"
  ],
  "summary": "local interface connection reuse mixup",
  "modified": "2026-09-17T12:57:32.00Z",
  "database_specific": {
    "package": "curl",
    "affects": "both",
    "URL": "https://curl.se/docs/CVE-2026-107929.json",
    "www": "https://curl.se/docs/CVE-2026-107929.html",
    "issue": "https://hackerone.com/reports/4099618",
    "CWE": {
      "id": "CWE-488",
      "desc": "Exposure of Data Element to Wrong Session"
    },
    "last_affected": "8.22.0",
    "severity": "Low"
  },
  "published": "2026-10-14T08:00:00.00Z",
  "affected": [
    {
      "ranges": [
        {
           "type": "SEMVER",
           "events": [
             {"introduced": "8.9.0"},
             {"fixed": "8.14.3"},
             {"introduced": "8.15.0"},
             {"fixed": "8.16.2"},
             {"introduced": "8.17.0"},
             {"fixed": "8.20.2"},
             {"introduced": "8.21.0"},
             {"fixed": "8.23.0"}
           ]
        },
        {
           "type": "GIT",
           "repo": "https://github.com/curl/curl.git",
           "events": [
             {"introduced": "3060557af702dd59155ea703a0790455c2f49a59"},
             {"fixed": "d37d79df1e01066417aff0a9e6bc675edad3edba"}
           ]
        }
      ],
      "versions": [
        "8.22.0", "8.21.0", "8.20.0", "8.19.0", "8.18.0", "8.17.0", "8.16.0", 
        "8.15.0", "8.14.1", "8.14.0", "8.13.0", "8.12.1", "8.12.0", "8.11.1", 
        "8.11.0", "8.10.1", "8.10.0", "8.9.1", "8.9.0"
      ]
    }
  ],
  "credits": [
    {
      "name": "Maksim Hayder",
      "type": "FINDER"
    },
    {
      "name": "Stefan Eissing",
      "type": "REMEDIATION_DEVELOPER"
    }
  ],
  "details": "When `CURLOPT_INTERFACE` (or the command line tool's `--interface` option) is\nset with one of the documented prefixes (`if!`, `host!`, `ifhost!`), that\nbinding is not part of the connection reuse key, so a later transfer asking\nfor a different source can silently reuse an existing connection and go out\nfrom the earlier transfer's source address"
}