{"id":"CVE-2026-31675","summary":"net/sched: sch_netem: fix out-of-bounds access in packet corruption","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: sch_netem: fix out-of-bounds access in packet corruption\n\nIn netem_enqueue(), the packet corruption logic uses\nget_random_u32_below(skb_headlen(skb)) to select an index for\nmodifying skb-\u003edata. When an AF_PACKET TX_RING sends fully non-linear\npackets over an IPIP tunnel, skb_headlen(skb) evaluates to 0.\n\nPassing 0 to get_random_u32_below() takes the variable-ceil slow path\nwhich returns an unconstrained 32-bit random integer. Using this\nunconstrained value as an offset into skb-\u003edata results in an\nout-of-bounds memory access.\n\nFix this by verifying skb_headlen(skb) is non-zero before attempting\nto corrupt the linear data area. Fully non-linear packets will silently\nbypass the corruption logic.","modified":"2026-04-26T04:22:21.086925Z","published":"2026-04-25T08:46:51.184Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31675.json","cna_assigner":"Linux"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/13a66ca1e235d4bcd53d12d4c68490cad7f8e46f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3a2999704ac36cfb4041fed3652d26a3373e8d12"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4fd258e281fa8bc15e9ce2c7691941537e9258ad"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a14b56863348686dd0387eea8ce66b85cf455908"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d64cb81dcbd54927515a7f65e5e24affdc73c14b"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31675.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31675"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"c865e5d99e25a171e8262fc0f7ba608568633c64"},{"fixed":"a14b56863348686dd0387eea8ce66b85cf455908"},{"fixed":"13a66ca1e235d4bcd53d12d4c68490cad7f8e46f"},{"fixed":"3a2999704ac36cfb4041fed3652d26a3373e8d12"},{"fixed":"4fd258e281fa8bc15e9ce2c7691941537e9258ad"},{"fixed":"d64cb81dcbd54927515a7f65e5e24affdc73c14b"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-31675.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.6.16"},{"fixed":"6.6.134"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.81"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.22"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.12"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-31675.json"}}],"schema_version":"1.7.5"}