pdnsd: Denial of Service and cache poisoning
1.
Gentoo Linux Security Advisory
Version Information
| Advisory Reference |
GLSA 200901-03 / pdnsd |
| Release Date |
January 11, 2009 |
| Latest Revision |
January 11, 2009: 01 |
| Impact |
normal |
| Exploitable |
remote |
| Package |
Vulnerable versions |
Unaffected versions |
Architecture(s) |
| net-dns/pdnsd |
<
1.2.7 |
>=
1.2.7 |
All supported architectures
|
Related bugreports:
#231285
Synopsis
Two errors in pdnsd allow for Denial of Service and cache poisoning.
2.
Impact Information
Background
pdnsd is a proxy DNS server with permanent caching that is designed to
cope with unreachable DNS servers.
Description
Two issues have been reported in pdnsd:
-
The p_exec_query() function in src/dns_query.c does not properly handle
many entries in the answer section of a DNS reply, related to a
"dangling pointer bug" (CVE-2008-4194).
-
The default value for query_port_start was set to 0, disabling UDP
source port randomization for outgoing queries (CVE-2008-1447).
Impact
An attacker could exploit the second weakness to poison the cache of
pdnsd and thus spoof DNS traffic, which could e.g. lead to the
redirection of web or mail traffic to malicious sites. The first issue
can be exploited by enticing pdnsd to send a query to a malicious DNS
server, or using the port randomization weakness, and might lead to a
Denial of Service.
3.
Resolution Information
Workaround
Port randomization can be enabled by setting the "query_port_start"
option to 1024 which would resolve the CVE-2008-1447 issue.
Resolution
All pdnsd users should upgrade to the latest version:
Code Listing 3.1: Resolution |
# emerge --sync
# emerge --ask --oneshot --verbose ">=net-dns/pdnsd-1.2.7"
|
4.
References
|