CVE-2026-90073
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
net/sched: hhf: clamp quantum before hhf_change() to avoid overflow
In the Linux kernel, the following vulnerability has been resolved: net/sched: hhf: clamp quantum before hhf_change() to avoid overflow hhf_init() sets q->quantum = psched_mtu(qdisc_dev(sch)) with no overflow check. A device with a huge MTU (e.g. dummy with max_mtu == 0 accepting MTU 2147483634) makes weight * quantum overflow the signed deficit in hhf_dequeue(), spinning forever. Clamp q->quantum before hhf_change() so both the opt and !opt paths see a sane quantum. Without this, bare "tc qdisc add ... hhf" succeeds with a clamped quantum but "tc qdisc add ... hhf limit 1000" (any option present) fails with -EINVAL because hhf_change() re-validates the unclamped default (sch_hhf.c:559). 256 matches fq_codel's floor and is a sane minimum for a DRR quantum. Conditions to recreate the bug: a device whose MTU (plus hard_header_len) wraps psched_mtu() into the sign bit (e.g. a dummy device with max_mtu == 0 accepting MTU 2147483634). Requires CAP_NET_ADMIN in a user namespace.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 2e0f0729f922c8de13801004e2131b57646c7c5f | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 0c66223e90ddb4fd3700965a9241f2fde7bd6bc7 | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 20b65bf7ca06e48ec1d62ed8012f71205328dbe4 | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | dea2789a9d5ff38bdd77f2e64d550430899e2839 | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | fa9c2055f0a60f801ccf286af53d387dc6202c3f | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 99770b5d8e0e1c69b996f74a19d71afd2c4a9aa4 | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 2446644b0f6d045b01db6acbaf55552dbec8a59a | Unavailable | None listed |
| 10239edf86f137ce4c39b62ea9575e8053c549a0 | affected | git | 2164b512b97bb053e8ce4d6e95576f11bed6a005 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3.14 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.14 | Unavailable | None listed |
| 5.10.270 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.221 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.188 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.157 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.110 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.52 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.6 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |