summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-08-10 09:42:23 +0300
committerDenys Fedoryshchenko <denys.f@collabora.com>2026-08-10 09:42:23 +0300
commitb0e7444cfea168b6b283ca89e00b57494e0bced2 (patch)
tree704446c091aabe66af730bad028ceae8df47739f /drivers
parenta9bfcdb86b2da91077c21c169e767975c029eabe (diff)
downloadaccel-ppp-b0e7444cfea168b6b283ca89e00b57494e0bced2.tar.gz
accel-ppp-b0e7444cfea168b6b283ca89e00b57494e0bced2.zip
dhcpv6: fix end pointer of an encapsulated relay message
opth->data already points past the option header, so adding sizeof(*opth) again counted it twice and left endptr four bytes beyond the end of the Relay-Message option, and possibly beyond the received packet. The bounds check at the top of the option loop is written against that endptr, so on the next pass it accepted an option header that lies outside the buffer and read opth->len from it. ASan on a Relay-Forward packet: ERROR: AddressSanitizer: heap-buffer-overflow READ of size 2 in dhcpv6_packet_parse dhcpv6_packet.c:158 The end of the relayed message is the option payload, nothing more.
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions