DHCP stack buffer overflow vulnerability in handling log lines containing ASCII characters only
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.
Upgrade to a released version of ISC DHCPD
- BIND 10
- Other Software Projects
- security advisories
- software forums
- ABOUT ISC