{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": "cpe:2.3:a:nlnetlabs:unbound:*:*:*:*:*:*:*:*",
            "extracted_events": [
              {
                "introduced": "1.18.0"
              },
              {
                "fixed": "1.25.2"
              }
            ],
            "source": "CPE_RANGE"
          },
          "events": [
            {
              "introduced": "3795e374107ac7a5a977c516e144a3cd9b0da998"
            },
            {
              "fixed": "c33ad1b1a21e48bfe4f140e90252a9be1b0c5745"
            }
          ],
          "repo": "https://github.com/nlnetlabs/unbound",
          "type": "GIT"
        }
      ]
    }
  ],
  "database_specific": {},
  "details": "In NLnet Labs Unbound 1.18.0 up to and including 1.25.1, when Unbound listens on a 'proxy-protocol-port' interface with 'answer-cookie: yes', the RFC 9018 server-cookie SipHash is computed over the proxy's wire address instead of the PROXYv2-declared client. One server cookie obtained through a given proxy node therefore validates for every PROXYv2-declared source behind that node. On a UDP+proxy-protocol front, an off-path attacker can harvest one cookie with a single legitimate query, then replay it under any spoofed source and pass DNS Cookie checks that were deployed to defeat this in the first place.",
  "id": "CVE-2026-54478",
  "modified": "2026-07-27T11:42:18.860982768Z",
  "published": "2026-07-22T14:17:21.177Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-54478.txt"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
      "type": "CVSS_V3"
    }
  ]
}