Description
As dhclient is building an environment to pass to dhclient-script, it may need to resize the array of string pointers. The code which expands the array incorrectly calculates its new size when requesting memory, resulting in a heap buffer overrun. A specially crafted packet can cause dhclient to overrun its buffer of environment entries. This can result in a crash, but it may be possible to leverage this bug to achieve remote code execution.
Problem types
CWE-122: Heap-based Buffer Overflow
Product status
15.0-RELEASE (release) before p7
14.4-RELEASE (release) before p3
14.3-RELEASE (release) before p12
13.5-RELEASE (release) before p13
Credits
Joshua Rogers of AISLE Research Team
References
security.freebsd.org/...sories/FreeBSD-SA-26:15.dhclient.asc