SMP Ordering Issue in Linux Kernel - CVE-2025-40174

Updated 14 Nov 2025

Summary

12/11/2025
N/A
Yes i
Unrated
Not published

CVE-2025-40174: x86/mm: Fix SMP ordering in switch_mm_irqs_off(). Affects across 3 version ranges.

>= 6.14.0, < 6.17.5 >= 209954cbc7d0ce1a190fc725d20ce303d74d2680, < 0fe5e3f5fb75c5d88dad24dece3ee75e9d87adeb >= 209954cbc7d0ce1a190fc725d20ce303d74d2680, < 83b0177a6c4889b3a6e865da5e21b2c9d97d0551

Fixed in 0fe5e3f5fb75c5d88dad24dece3ee75e9d87adeb. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The Linux Kernel is the core component of many operating systems, managing hardware resources and providing essential services for software applications. It is known for its robustness, flexibility, and extensive support for various hardware architectures. However, like any complex software, it is susceptible to vulnerabilities that can compromise system integrity and performance. CVE-2025-40174 addresses a specific issue in the x86 architecture related to memory management and TLB (Translation Lookaside Buffer) operations.

Vulnerability Detail

CVE-2025-40174 arises from a lack of proper memory ordering in the switch_mm_irqs_off() function within the Linux Kernel. Specifically, the absence of an smp_mb() (symmetric memory barrier) between the loading of the memory management structure and the TLB generation load can lead to inconsistencies. This may result in the system failing to flush TLB entries after a recent update, potentially allowing stale entries to persist and causing incorrect memory accesses. The ramifications of this vulnerability could include system instability, data corruption, or security breaches due to improper memory handling.

How To Fix

Minimum fixed version

0fe5e3f5fb75c5d88dad24dece3ee75e9d87adeb

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, users can minimize the risk by avoiding operations that heavily rely on TLB flushing until the kernel is updated. However, the best course of action is to apply the patch as soon as possible.

Conclusion

CVE-2025-40174 is a critical vulnerability in the Linux Kernel that can lead to significant system issues if left unaddressed. Users are strongly advised to update their kernel to the latest patched version to ensure system stability and security. Utilizing tools like Vulert can help monitor and alert for such vulnerabilities in real-time.

See every vulnerability recorded for →

Share this vulnerability

FAQ

CVE-2025-40174 is a vulnerability in the Linux Kernel related to improper memory ordering in the x86 architecture, which can lead to TLB inconsistencies.

This vulnerability can cause system instability, data corruption, or security issues due to incorrect memory accesses.

You can use Vulert, which monitors open-source vulnerabilities in your software using a manifest file like package-lock.json. Visit Vulert Scanner to check your application without signup.

Update your Linux Kernel to version 6.17.5 or later to apply the necessary patches.

While a temporary workaround is to avoid operations that depend on TLB flushing, the recommended solution is to update the kernel.

Related vulnerabilities

Recent vulnerabilities recorded for .

How To Fix

Minimum fixed version

0fe5e3f5fb75c5d88dad24dece3ee75e9d87adeb

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback

Follow Vulert in Google

Get more Vulert vulnerability and dependency-security updates in Google Search and AI results.