Skip to main content
← All vulnerabilities
CVE-2026-98010

net/sched: drr: clamp quantum in change class

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: net/sched: drr: clamp quantum in change class drr_change_class() rejects explicit quantum==0 but falls back to psched_mtu() with no floor. With a crafted size table qdisc_pkt_len reaches ~2 GiB, so quantum=1 (or a zero psched_mtu on a headerless device) makes the deficit-refill loop spin under the qdisc lock. Add clamp_t(u32, quantum, 256, 1<<20) after the zero reject and on the fallback path. The explicit-zero reject is preserved. Conditions to recreate the bug: CONFIG_NET_SCH_DRR=y. Requires CAP_NET_ADMIN (namespace-local via unshare -Urn suffices). tc qdisc add dev dummy0 root drr tc class add dev dummy0 parent 1: classid 1:1 drr quantum 1

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in e2297bbf9cf6ece86f1d1f8c683517a994990f9e; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in 560794ee6e040b6e1c4ac2b3c8909f341a4596ee; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in 23fea7e6736b2e1c6f6f2f05cccf33d36834da73; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in b464affe9f9dfe41ac48930c376e3fb8596651b0; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in dc8b374214ef5bba4882bbd95b361e42555cfc0d; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in d43cded350fe1218493ad3d37a276aff14108ae6; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in 8f756ae1c87414ce9cc21b30e6e4c036d6e9e80b; From 13d2a1d2b032de08d7dcab6a1edcd47802681f96 · fixed in 8382abec0f1568d0a5590d75a3df92f23fcf5196

  • Linux Linux

    2.6.29

  • KernelLinux

    From 2.6.29 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7

References 8

git.kernel.org