CVE-2026-98198

CVE-2026-98198

published October 6, 2026

CVSS
—
EPSS
0%
Percentile
6.7
In the wild
Unconfirmed
What it is

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

hwmon: (pwm-fan) Stop RPM timer before freeing tach data

sample_timer() rearms the RPM timer and accesses the devm-managed

ctx->tachs and ctx->pulses_per_revolution arrays. The cleanup action

which stops the timer is registered before those arrays are allocated.

Since devres releases entries in reverse order, driver detach can free

the arrays before pwm_fan_cleanup() shuts down the timer. A timer expiry

in that window accesses the freed tach data.

With a KASAN kernel, a test-only kprobe delayed entry to

pwm_fan_cleanup() while normal sysfs unbind ran. Each of three runs

reported three four-byte reads and two four-byte writes in sample_timer()

after its backing devm allocations had been freed. The helper did not

invoke the timer callback, cleanup actions or free functions.

With the fix, three matching unbind runs completed without KASAN, BUG,

WARNING, Oops or panic. Instrumentation confirmed that timer retirement

completed before the first timer backing allocation was released.

Split timer retirement from the power cleanup and register its devres

action after the timer backing data and IRQ actions are installed. This

preserves the early power rollback action while ensuring the timer is

retired before its backing data is released. Use timer_shutdown_sync()

because the callback can rearm itself.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00175 · 6.7th percentile
Published
2026-10-06T13:18Z
References (5)
EPSS history
Timeline
  • 07 OCT 03:43Z
    EPSS moved — → 0%
    epss
  • 06 OCT 08:44Z
    hwmon: (pwm-fan) Stop RPM timer before freeing tach data
    cvelistv5