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

net/sched: hhf: clamp quantum in change and init paths

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: hhf: clamp quantum in change and init paths hhf_change() accepts any quantum from userspace, including 1. With a crafted size table qdisc_pkt_len reaches ~2 GiB, so quantum=1 makes the deficit-refill loop spin ~2^31 times under the qdisc lock (a soft lockup / denial of service). Add max(256U, ...) in hhf_change() matching fq_codel_change(). Clamp hhf_init() to [256, 1<<20] matching the siblings, and remove the old fallback that only set quantum=256 on overflow. Conditions to recreate the bug: CONFIG_NET_SCH_HHF=y. Requires CAP_NET_ADMIN (namespace-local via unshare -Urn suffices). tc qdisc add dev dummy0 root hhf tc qdisc change dev dummy0 root hhf quantum 1 stab data 32768 size_log 15 cell_log 0

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in a328698d046098e6f55b3b1460cac6bab577be58; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in c364ad3ab3c8a6bce469a5cbf02881ab1324c5da; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in 2c6dd9fc86d446a03728c43f3b96d9ae29aa058f; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in 6570f326a6a96bedf3d1d1dab6acc9f8c29104ec; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in 1113b674307ffddd402524bd1fd9d7d5629b705b; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in 2e77947bbf6c166e76c038663832d0914418f761; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in 0898c6f9fa9ce2632ae88bd0f34a878ccc6335af; From 10239edf86f137ce4c39b62ea9575e8053c549a0 · fixed in eb56a495f59baf6cad5ed80e3ffb9078098b1346

  • Linux Linux

    3.14

  • KernelLinux

    From 3.14.0 · 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