{"id":"CVE-2026-54478","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.","modified":"2026-07-27T14:06:45.290309Z","published":"2026-07-22T14:17:21.177Z","related":["openSUSE-SU-2026:11380-1"],"references":[{"type":"ADVISORY","url":"https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-54478.txt"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nlnetlabs/unbound","events":[{"introduced":"3795e374107ac7a5a977c516e144a3cd9b0da998"},{"fixed":"c33ad1b1a21e48bfe4f140e90252a9be1b0c5745"}],"database_specific":{"cpe":"cpe:2.3:a:nlnetlabs:unbound:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"1.18.0"},{"fixed":"1.25.2"}],"source":"CPE_RANGE"}}],"versions":["release-1.25.1","release-1.25.0","release-1.25.0rc1","release-1.24.0","release-1.24.0rc1","release-1.23.0rc1","release-1.22.0","release-1.22.0rc1","release-1.21.0","release-1.21.0rc1","release-1.20.0rc1","release-1.20.0","release-1.19.3rc1","release-1.19.0rc1","release-1.19.0","release-1.18.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54478.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N"}]}