PT-2026-116751 · Linux · Linux
CVE-2026-98532
·
Published
2026-10-18
·
Updated
2026-10-18
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
ipv6: do not let ipv6 find hdr() return an offset past the packet end
ipv6 find hdr() walks the extension header chain, skipping each header by
the length that header itself declares. ipv6 optlen() returns up to 2048,
and the skip is never checked against skb->len, so the offset stored in
*offset can point past the end of the packet.
openvswitch installs that offset as the transport header, and
update ipv6 checksum() then reads and writes the transport checksum field
out of bounds:
BUG: KASAN: slab-use-after-free in inet proto csum replace16+0x445/0x470
Read of size 2 at addr ffff88810b754b06 by task ovs ipv6 oob/629
CPU: 4 UID: 1000 PID: 629 Comm: ovs ipv6 oob Tainted: G N 7.3.0-rc3+ #348
Call Trace:
inet proto csum replace16+0x445/0x470
set ipv6 addr+0x3dd/0x460
do execute actions+0x6a3d/0x7c40
ovs execute actions+0xfd/0x480
ovs packet cmd execute+0xc38/0xf20
genl rcv msg+0x59e/0x870
netlink rcv skb+0x18b/0x450
genl rcv+0x2d/0x40
netlink unicast+0x6bc/0xa20
The buggy address belongs to the object at ffff88810b754980
which belongs to the cache skbuff small head of size 704
The buggy address is located 390 bytes inside of
freed 704-byte region [ffff88810b754980, ffff88810b754c40)
Other callers use that offset too, so bound it here rather than in one
caller.
Reject a header whose declared length does not fit in the packet.
ipv6 find hdr() already fails with -EBADMSG on a malformed chain, so this
adds no new failure mode.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux