CVE-2026-31675
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c865e5d99e25a171e8262fc0f7ba608568633c64 < a14b56863348686dd0387eea8ce66b85cf455908 | affected |
| Linux | Linux | c865e5d99e25a171e8262fc0f7ba608568633c64 < 13a66ca1e235d4bcd53d12d4c68490cad7f8e46f | affected |
| Linux | Linux | c865e5d99e25a171e8262fc0f7ba608568633c64 < 3a2999704ac36cfb4041fed3652d26a3373e8d12 | affected |
| Linux | Linux | c865e5d99e25a171e8262fc0f7ba608568633c64 < 4fd258e281fa8bc15e9ce2c7691941537e9258ad | affected |
| Linux | Linux | c865e5d99e25a171e8262fc0f7ba608568633c64 < d64cb81dcbd54927515a7f65e5e24affdc73c14b | affected |
| Linux | Linux | 2.6.16 | affected |
| Linux | Linux | 0 < 2.6.16 | unaffected |
| Linux | Linux | 6.6.134 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.81 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.22 <= 6.18.* | unaffected |
| Linux | Linux | 6.19.12 <= 6.19.* | unaffected |
| Linux | Linux | 7.0 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/a14b56863348686dd0387eea8ce66b85cf455908
- https://git.kernel.org/stable/c/13a66ca1e235d4bcd53d12d4c68490cad7f8e46f
- https://git.kernel.org/stable/c/3a2999704ac36cfb4041fed3652d26a3373e8d12
- https://git.kernel.org/stable/c/4fd258e281fa8bc15e9ce2c7691941537e9258ad
- https://git.kernel.org/stable/c/d64cb81dcbd54927515a7f65e5e24affdc73c14b
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.