Cyber Resilience

CVE-2025-38217

Race Condition in Linux Kernel 6.3 – 6.6.95

Published
04 July 2025
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 4.7
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0010 1th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2025-38217 is a medium-severity Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367) vulnerability in Linux Linux Kernel. Its CVSS base score is 4.7 (Medium).

Operationally, ranked at the 1th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SC-39 (Process Isolation) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

In the Linux kernel, the following vulnerability has been resolved: hwmon: (ftsteutates) Fix TOCTOU race in fts_read() In the fts_read() function, when handling hwmon_pwm_auto_channels_temp, the code accesses the shared variable data->fan_source[channel] twice without holding any locks. It is first checked…

more

against FTS_FAN_SOURCE_INVALID, and if the check passes, it is read again when used as an argument to the BIT() macro. This creates a Time-of-Check to Time-of-Use (TOCTOU) race condition. Another thread executing fts_update_device() can modify the value of data->fan_source[channel] between the check and its use. If the value is changed to FTS_FAN_SOURCE_INVALID (0xff) during this window, the BIT() macro will be called with a large shift value (BIT(255)). A bit shift by a value greater than or equal to the type width is undefined behavior and can lead to a crash or incorrect values being returned to userspace. Fix this by reading data->fan_source[channel] into a local variable once, eliminating the race condition. Additionally, add a bounds check to ensure the value is less than BITS_PER_LONG before passing it to the BIT() macro, making the code more robust against undefined behavior. This possible bug was found by an experimental static analysis tool developed by our team.

CWE(s)

Related Threats

CVEs Like This One

CVE-2026-53250Same product: Linux Linux Kernel
CVE-2026-31678Same product: Linux Linux Kernel
CVE-2023-52478Same product: Linux Linux Kernel
CVE-2025-22060Same product: Linux Linux Kernel
CVE-2025-21746Same product: Linux Linux Kernel
CVE-2025-21958Same product: Linux Linux Kernel
CVE-2024-50234Same product: Linux Linux Kernel
CVE-2024-50220Same product: Linux Linux Kernel
CVE-2024-43882Same product: Linux Linux Kernel
CVE-2026-52991Same product: Linux Linux Kernel

Affected Assets

linux
linux kernel
6.16 · 6.3 — 6.6.95 · 6.7 — 6.12.35 · 6.13 — 6.15.4

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-10 Information Input Validation
  • SC-39 Process Isolation
  • SI-16 Memory Protection
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V15.4.2
  • V17.2.6

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly mitigates the TOCTOU by requiring validation of data->fan_source[channel] (bounds check < BITS_PER_LONG) before the BIT() macro, exactly as the fix implements.

prevent

Process isolation limits the blast radius of the resulting kernel crash or incorrect values returned to userspace from the racy shared variable.

prevent

Memory protection mechanisms can contain damage from the undefined behavior (large bit shift) that the race condition triggers.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly include coding standards and reviews that prevent TOCTOU race conditions.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

none

Reliable, synchronized time across systems narrows the exploitable window in which a resource state can change between a security check and its use.

References