Description from ISC's advisory: Description: ISC dhclient has a stack overflow vulnerability which makes it theoretically possible for a rogue DHCP server to execute arbitrary commands as root on the affected system through stack return subversion. Impact: While generating a subnet number from the server-supplied leased address and subnet-mask 'dhclient' copies the information into a field without verifying if the length of the information exceeds the length of the field. Theoretically this allows a rogue DHCP server to execute arbitrary commands as root on the affected system through stack return subversion. This attack has little to no risk for a client situated on a network that is well defended, whereas clients that are roaming to potentially hostile or ad-hoc networks can see this attack to pose a severe threat. Factors complicating any attack would be: 1) The attacker would need to generate messages the client views as authentic. One option is for the attacker to present itself as a suitable DHCPv4 server for a network, in essence operating as a rogue DHCPv4 server. Another option would be to insert messages into the conversation between the client and the authentic DHCPv4 server. To do this the attacker needs to accurately guess the client's randomly chosen 16-bit transaction ID and insert the attack precisely between the client's request and the valid DHCPv4 server's reply. Neither of these are likely on a well defended network but clients that are roaming may find them, especially the first, a severe threat. 2) The attacker would then need to develop their attack within a limited packet size. Support for DHCPv4 total packet size may be limited from 576 octets through the link MTU size (no support for fragmentation) up to 64KB. Of this, the DHCPv4 option payload space is limited by the space taken up by the BOOTP header space, excepting the FILE and SNAME fields (which can be used in 'option overloading' to carry option contents, such as the subnet-mask).
Created attachment 349164 [details] Patch from upstream
On Red Hat Enterprise Linux 5 and later (including current Fedora versions), dhcp packages are compiled with FORTIFY_SOURCE enabled. Thanks to that protection, this buffer overflow is detected and dhclient is terminated in a controlled way, rather than allowing malicious packet to corrupt stack and possibly result in code execution. Therefore, this flaw has no security impact on packages built with FORTIFY_SOURCE enabled. Malicious packet can cause dhclient to exit unexpectedly, though this is not treated as DoS. The flaw can cause client to not have any IP address configured, however, rogue DHCP server can perform similar DoS attack on clients even without this flaw by replying to their requests with assignments of IP addresses that are not valid / usable on the given network.
This is now public: http://www.kb.cert.org/vuls/id/410676
This issue has been addressed in following products: Red Hat Enterprise Linux 3 Via RHSA-2009:1154 https://rhn.redhat.com/errata/RHSA-2009-1154.html
This issue has been addressed in following products: Red Hat Enterprise Linux 4 Red Hat Enterprise Linux 4.7 Z Stream Via RHSA-2009:1136 https://rhn.redhat.com/errata/RHSA-2009-1136.html
MITRE's CVE record (CVE-2009-0692): Stack-based buffer overflow in the script_write_params method in client/dhclient.c in ISC DHCP dhclient 4.1 before 4.1.0p1, 4.0 before 4.0.1p1, 3.1 before 3.1.2p1, 3.0, and 2.0 allows remote DHCP servers to execute arbitrary code via a crafted subnet-mask option. References: ----------- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0692 https://www.isc.org/node/468 http://security.gentoo.org/glsa/glsa-200907-12.xml http://www.kb.cert.org/vuls/id/410676 http://secunia.com/advisories/35785