An out-of-bounds read flaw was found in the way FreeRADIUS server handled decoding of DHCP packets. A remote attacker could use this flaw to crash the FreeRADIUS server by sending a specially crafted DHCP request.
The fr_dhcp_decode() function performed a strcmp() on binary data in an internal data structure, instead of checking the length of the option and doing a memcmp. The server can read memory until it reaches a zero byte. Depending on memory layout, this read may initiate a page fault, and cause the server to crash.
The security impact is denial of service by any network device capable of sending DHCP packets to FreeRADIUS, which sends a DHCP option 63 with non-zero contents.
Affected versions: 2.0.0 through 3.0.14, inclusive.