The Internet Systems Consortium's (ISC) Dynamic Host Configuration Protocol (DHCP) 3 application contains a buffer overflow vulnerability. Exploitation of this vulnerability can cause a denial of service condition to the DHCP Daemon (DHCPD) and may permit a remote attacker to execute arbitrary code on the system with the privileges of the DHCPD process.
As described in RFC 2131, "the Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCP/IP network."
ISC DHCPD syslogs every DHCP packet in transactions along with several pieces of descriptive information. The client's DISCOVER and the resulting OFFER, REQUEST, and ACK are all logged as well as any NAKs. In all of these messages, if the client supplied a hostname then it is also included in the logged line. If the client supplies multiple hostname options these options will be concatenated together. If the hostname and options contain only ASCII characters, then the string will pass non-ASCII character filters and be temporarily stored in 1024 byte fixed-length buffers on the stack.
It is possible that if enough hostname options are supplied by the client, and other text is logged in the same line, then the static buffer will be overflown, writing over the stack. If non-ASCII or non-printable characters are supplied, then there are other checks and filters that will prevent this buffer overflow from occuring.
Only ISC DHCP 3.0.1rc12 and ISC DHCP 3.0.1rc13 are believed to be vulnerable for all operating systems and configurations. All versions of ISC DCHP 3, including all snapshots, betas, and release candidates, contain the flawed code. However, since these versions discard of all but the last hostname option provided by the client, it is not believed that these versions are exploitable.
A remote attacker with the ability to send a crafted packet to the DHCPD listening port (typically port 67/UDP), may be able to crash the ISC DHCP daemon, causing a denial of service. It may be possible to execute arbitrary code on the vulnerable server with the privileges of the DHCPD process (typically root).
ISC has released DHCP 3.0.1rc14 which resolves this issue. Versions prior to ISC DHCP 3 are no longer supported. All users of ISC DHCP are encouraged to update to the latest version.
Vendor| Status| Date Notified| Date Updated
Fedora Project| | 10 Jun 2004| 22 Jun 2004
InfoBlox| | 11 Jun 2004| 13 Jul 2004
ISC| | -| 22 Jun 2004
MandrakeSoft| | 10 Jun 2004| 23 Jun 2004
SuSE Inc.| | 10 Jun 2004| 23 Jun 2004
Apple Computer Inc.| | 10 Jun 2004| 22 Jun 2004
Aruba Networks| | 10 Jun 2004| 23 Jun 2004
Check Point| | 11 Jun 2004| 22 Jun 2004
Chiaro Networks| | 11 Jun 2004| 22 Jun 2004
Cisco Systems Inc.| | 10 Jun 2004| 24 Jun 2004
Extreme Networks| | 11 Jun 2004| 22 Jun 2004
F5 Networks| | 11 Jun 2004| 22 Jun 2004
Hewlett-Packard Company| | 10 Jun 2004| 22 Jun 2004
Hitachi| | -| 22 Jun 2004
IBM| | 10 Jun 2004| 22 Jun 2004
If you are a vendor and your product is affected, let us know.
Group | Score | Vector
Base | N/A | N/A
Temporal | N/A | N/A
Environmental | N/A | N/A
Thanks to Gregory Duchemin and Solar Designer for discovering, reporting and resolving this vulnerability. Thanks also to David Hankins of ISC for notifying us of this vulnerability and the technical information provided to create this document.
This document was created by Jason A Rafail and based on the technical information provided by David Hankins of ISC.