mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Security fix, CVE-2017-14493, DHCPv6 - Stack buffer overflow.
Fix stack overflow in DHCPv6 code. An attacker who can send a DHCPv6 request to dnsmasq can overflow the stack frame and crash or control dnsmasq.
This commit is contained in:
@@ -43,6 +43,14 @@ version 2.78
|
||||
Credit to Felix Wilhelm, Fermin J. Serna, Gabriel Campana
|
||||
and Kevin Hamacher of the Google Security Team for
|
||||
finding this.
|
||||
|
||||
Fix stack overflow in DHCPv6 code. An attacker who can send
|
||||
a DHCPv6 request to dnsmasq can overflow the stack frame and
|
||||
crash or control dnsmasq.
|
||||
CVE-2017-14493 applies.
|
||||
Credit to Felix Wilhelm, Fermin J. Serna, Gabriel Campana
|
||||
and Kevin Hamacher of the Google Security Team for
|
||||
finding this.
|
||||
|
||||
|
||||
version 2.77
|
||||
|
||||
@@ -206,6 +206,9 @@ static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz,
|
||||
/* RFC-6939 */
|
||||
if ((opt = opt6_find(opts, end, OPTION6_CLIENT_MAC, 3)))
|
||||
{
|
||||
if (opt6_len(opt) - 2 > DHCP_CHADDR_MAX) {
|
||||
return 0;
|
||||
}
|
||||
state->mac_type = opt6_uint(opt, 0, 2);
|
||||
state->mac_len = opt6_len(opt) - 2;
|
||||
memcpy(&state->mac[0], opt6_ptr(opt, 2), state->mac_len);
|
||||
|
||||
Reference in New Issue
Block a user