CVE-2026-31423CWE-369

CVE-2026-31423

Medium · published April 13, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
6.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

net/sched: sch_hfsc: fix divide-by-zero in rtsc_min()

m2sm() converts a u32 slope to a u64 scaled value. For large inputs

(e.g. m1=4000000000), the result can reach 2^32. rtsc_min() stores

the difference of two such u64 values in a u32 variable `dsm` and

uses it as a divisor. When the difference is exactly 2^32 the

truncation yields zero, causing a divide-by-zero oops in the

concave-curve intersection path:

Oops: divide error: 0000

RIP: 0010:rtsc_min (net/sched/sch_hfsc.c:601)

Call Trace:

init_ed (net/sched/sch_hfsc.c:629)

hfsc_enqueue (net/sched/sch_hfsc.c:1569)

[...]

Widen `dsm` to u64 and replace do_div() with div64_u64() so the full

difference is preserved.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00171 · 6.1th percentile
Weakness
CWE-369 · Divide By Zero
Published
2026-04-13T18:16Z
Affected products (18)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.12.1, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1686.1.168
linux/linux_kernel≥ 6.2, < 6.6.1346.6.134
linux/linux_kernel≥ 6.7, < 6.12.816.12.81
linux/linux_kernel≥ 6.13, < 6.18.226.18.22
linux/linux_kernel≥ 6.19, < 6.19.126.19.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 13 APR 13:40Z
    net/sched: sch_hfsc: fix divide-by-zero in rtsc_min()
    cvelistv5