Linux kernel OOB memory via netem packet corruption on non-linear packets
CVE-2026-31675 Published on April 25, 2026
net/sched: sch_netem: fix out-of-bounds access in packet corruption
In the Linux kernel, the following vulnerability has been resolved:
net/sched: sch_netem: fix out-of-bounds access in packet corruption
In netem_enqueue(), the packet corruption logic uses
get_random_u32_below(skb_headlen(skb)) to select an index for
modifying skb->data. When an AF_PACKET TX_RING sends fully non-linear
packets over an IPIP tunnel, skb_headlen(skb) evaluates to 0.
Passing 0 to get_random_u32_below() takes the variable-ceil slow path
which returns an unconstrained 32-bit random integer. Using this
unconstrained value as an offset into skb->data results in an
out-of-bounds memory access.
Fix this by verifying skb_headlen(skb) is non-zero before attempting
to corrupt the linear data area. Fully non-linear packets will silently
bypass the corruption logic.
Products Associated with CVE-2026-31675
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version c865e5d99e25a171e8262fc0f7ba608568633c64 and below a14b56863348686dd0387eea8ce66b85cf455908 is affected.
- Version c865e5d99e25a171e8262fc0f7ba608568633c64 and below 13a66ca1e235d4bcd53d12d4c68490cad7f8e46f is affected.
- Version c865e5d99e25a171e8262fc0f7ba608568633c64 and below 3a2999704ac36cfb4041fed3652d26a3373e8d12 is affected.
- Version c865e5d99e25a171e8262fc0f7ba608568633c64 and below 4fd258e281fa8bc15e9ce2c7691941537e9258ad is affected.
- Version c865e5d99e25a171e8262fc0f7ba608568633c64 and below d64cb81dcbd54927515a7f65e5e24affdc73c14b is affected.
- Version 2.6.16 is affected.
- Before 2.6.16 is unaffected.
- Version 6.6.134, <= 6.6.* is unaffected.
- Version 6.12.81, <= 6.12.* is unaffected.
- Version 6.18.22, <= 6.18.* is unaffected.
- Version 6.19.12, <= 6.19.* is unaffected.
- Version 7.0, <= * is unaffected.