Description
PowerDNS Recursor before 3.1.5 uses insufficient randomness to calculate (1) TRXID values and (2) UDP source port numbers, which makes it easier for remote attackers to poison a DNS cache, related to (a) algorithmic deficiencies in rand and random functions in external libraries, (b) use of a 32-bit seed value, and (c) choice of the time of day as the sole seeding information.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | pdns-recursor | 3.1.7-1 | — |
| Debian 13 | pdns-recursor | 3.1.7-1 | — |
| Debian 12 | pdns-recursor | 3.1.7-1 | — |
| Debian 4.0 | pdns-recursor | 3.1.4-1+etch1 | DSA-1544-2, DSA-1544-1 |
Advisories 2
- DSA-1544-1 pdns-recursor - cache poisoning vulnerability Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-1544-2 pdns-recursor - predictable randomness Debian Security (DSA / DLA) · Mar 9, 2026
References
- 29764 third-party-advisory
- 29737 third-party-advisory
- DSA-1544 vendor-advisory
- FEDORA-2008-3010 vendor-advisory
- 28517 vdb-entry
- http://doc.powerdns.com/changelog.html
- http://www.trusteer.com/docs/powerdnsrecursor.html
- 29584 third-party-advisory
- SUSE-SR:2008:012 vendor-advisory
- ADV-2008-1046 vdb-entry
- http://www.trusteer.com/docs/PowerDNS_recursor_DNS_Cache_Poisoning.pdf
- 29830 third-party-advisory
- http://doc.powerdns.com/powerdns-advisory-2008-01.html
- powerdns-dnscache-weak-security(41534) vdb-entry
- GLSA-200804-22 vendor-advisory
- FEDORA-2008-3036 vendor-advisory
- 20080331 Paper by Amit Klein (Trusteer): "PowerDNS Recursor DNS Cache Poisoning [pharming]" mailing-list
- 30581 third-party-advisory