{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "source": "REFERENCES"
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "feabbd0a13f83028ab24b71710526e9da9841f70"
            }
          ],
          "repo": "https://github.com/slab/safeurl-elixir",
          "type": "GIT"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "EEF",
    "cwe_ids": [
      "CWE-367"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77972.json",
    "unresolved_ranges": [
      {
        "extracted_events": [
          {
            "introduced": "0.1.0"
          },
          {
            "fixed": "*"
          },
          {
            "introduced": "feabbd0a13f83028ab24b71710526e9da9841f70"
          },
          {
            "fixed": "*"
          }
        ],
        "source": "AFFECTED_FIELD"
      }
    ]
  },
  "details": "Time-of-check Time-of-use (TOCTOU) Race Condition in Slab safeurl allows an attacker who controls a hostname's DNS responses to reach internal network destinations that validation rejected.\n\nValidation returns a verdict and not the address it approved, so the HTTP clients the library ships receive the original hostname and resolve it a second time when the request is made. An attacker who controls the authoritative DNS for a name can answer the first lookup with a permitted address and the second with a blocked one, and the request then reaches a destination validation never approved. The same window opens without an attacker whenever a name legitimately resolves to different addresses across lookups, such as short record lifetimes or rotation between several addresses.\n\nThis issue affects safeurl: from 0.1.0 onward.",
  "id": "CVE-2026-77972",
  "modified": "2026-09-23T03:30:27.432987500Z",
  "published": "2026-09-15T15:37:49.948Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com"
    },
    {
      "type": "WEB",
      "url": "https://osv.dev/vulnerability/EEF-CVE-2026-77972"
    },
    {
      "type": "WEB",
      "url": "https://repo.hex.pm"
    },
    {
      "type": "ADVISORY",
      "url": "https://cna.erlef.org/cves/CVE-2026-77972.html"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77972.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-77972"
    },
    {
      "type": "FIX",
      "url": "https://github.com/slab/safeurl-elixir/commit/feabbd0a13f83028ab24b71710526e9da9841f70"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/slab/safeurl-elixir"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "safeurl validated address is not bound to the request, allowing DNS rebinding"
}