CVE-2026-109125 PUBLISHED

Possible cache poisoning vulnerability via a cache side-channel exposed by 'unwanted-reply-threshold'

Assigner: NLnet Labs
Reserved: 14.10.2026 Published: 21.10.2026 Updated: 21.10.2026

In NLnet Labs Unbound up to and including version 1.26.1, an observable cache-level side-channel can be exposed with 'unwanted-reply-threshold > 0' configurations (not a default configuration). If a response-like UDP datagram reaches the upstream source port currently used by a recursive query, but its TXID does not match any pending query, Unbound counts the packet as an unwanted reply. When the accumulated count reaches the configured threshold, Unbound clears the worker's RRset cache and message cache. This cache clear action does not destroy the current upstream UDP pending query. Therefore, an external observer can distinguish whether a candidate port matches the current upstream source port by checking whether an existing cached item has been cleared. This is a cache side-channel vulnerability that can be used to probe the upstream source port. Although the attack is not feasible on default configurations and the suggested value (10 million) makes it an ureliable attack on a public resolver, in scenarios where the attacker can keep a concurrent query window alive, the attacker can first filter the source port and then perform birthday-style guessing against the TXID, making cache poisoning a feasible attack path.

Metrics

CVSS Vector: CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS Score: 5.3

Product Status

Vendor NLnet Labs
Product Unbound
Versions Default: unaffected
  • affected from 0 to 1.26.2 (excl.)

Solutions

This issue is fixed starting with version 1.26.2

Credits

  • TaoFei Guo (Peking University) finder
  • Yang Luo (Tsinghua University) finder
  • JianJun Chen (Tsinghua University) finder

References

Problem Types

  • CWE-205: Observable Behavioral Discrepancy CWE