Skip to main content

Linux Kernel CVE-2025-40190

HIGH
2025-11-12 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI
5.6 MEDIUM

Local mount of a crafted ext4 image (AV:L, UI:R) typically needs mount privilege (PR:L); observed impact is corruption/DoS (A:H, I:L) with no demonstrated confidentiality leak (C:N).

3.1 AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE
6.1 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Red Hat
6.1 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Analysis Updated
Jul 30, 2026 - 08:31 vuln.today
v3 (cvss_changed)
Analysis Updated
Jul 30, 2026 - 08:31 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.8 (HIGH)
Analysis Generated
Mar 28, 2026 - 19:21 vuln.today
CVE Published
Nov 12, 2025 - 22:15 nvd
N/A

DescriptionCVE.org

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

ext4: guard against EA inode refcount underflow in xattr update

syzkaller found a path where ext4_xattr_inode_update_ref() reads an EA inode refcount that is already <= 0 and then applies ref_change (often -1). That lets the refcount underflow and we proceed with a bogus value, triggering errors like:

EXT4-fs error: EA inode <n> ref underflow: ref_count=-1 ref_change=-1 EXT4-fs warning: ea_inode dec ref err=-117

Make the invariant explicit: if the current refcount is non-positive, treat this as on-disk corruption, emit ext4_error_inode(), and fail the operation with -EFSCORRUPTED instead of updating the refcount. Delete the WARN_ONCE() as negative refcounts are now impossible; keep error reporting in ext4_error_inode().

This prevents the underflow and the follow-on orphan/cleanup churn.

AnalysisAI

Filesystem corruption and denial of service in the Linux kernel's ext4 extended-attribute (EA) inode handling allows a local attacker who can mount a crafted or corrupted ext4 image to trigger a reference-count underflow in ext4_xattr_inode_update_ref(). Because the code previously read an EA inode refcount that was already <= 0 and still applied the change (typically -1), it proceeded on a bogus negative value, spawning EXT4-fs errors and orphan/cleanup churn. No public exploit identified at time of analysis, and the EPSS score is very low (0.07%), consistent with a corruption-triggered fault rather than a readily weaponized remote flaw.

Technical ContextAI

The bug lives in ext4's extended-attribute subsystem, where large or numerous xattrs are stored in dedicated 'EA inodes' that carry their own reference count (tracked via i_size / the refcount helper ext4_xattr_inode_update_ref()). When xattrs are added or removed, this refcount is incremented or decremented. The root cause is an unvalidated-input / improper-integrity-check class issue (aligned with CWE-190 integer underflow and CWE-20 improper input validation, though the feed lists CWE as N/A): the on-disk refcount was trusted without checking that it was positive before applying ref_change. syzkaller reached a state where the stored count was non-positive, so decrementing underflowed it. The fix makes the invariant explicit - a non-positive current refcount is now treated as on-disk corruption, reported via ext4_error_inode(), and the operation fails with -EFSCORRUPTED instead of proceeding; the now-unreachable WARN_ONCE() was removed.

Affected ProductsAI

The Linux kernel's ext4 filesystem driver is affected across multiple stable branches, as evidenced by the eight stable-tree fix commits referenced (git.kernel.org/stable/c/1cfb3e4ddbdc..., 3d6269028246..., 440b003f449a..., 505e69f76ac4..., 57295e835408..., 6b879c4c6bba..., 79ea7f3e11ef..., and ea39e712c2f5...). Precise vulnerable version ranges are not enumerated in the provided data and no CPE strings were supplied, so exact kernel version boundaries should be confirmed against each stable branch's fix commit and the corresponding kernel.org release notes; any kernel using ext4 with EA-inode (large/many xattr) support prior to these backports should be considered potentially affected.

RemediationAI

Upstream fix available (commit/stable backports); update to a kernel build that includes the ext4 change 'guard against EA inode refcount underflow in xattr update' from your distribution - apply the vendor kernel update corresponding to the stable commits listed (e.g. git.kernel.org/stable/c/1cfb3e4ddbdc8e02e637b8852540bd4718bf4814 and the seven sibling commits). A released patched version number is not independently confirmed from the provided data, so map the commit to your distro's patched kernel package and reboot. As compensating controls where immediate patching is not possible: disable or restrict user/automatic mounting of untrusted ext4 media (e.g. remove USB automount rules, mount removable devices with nosuid,nodev,noexec and only by privileged operators), which reduces the crafted-image attack surface at the cost of removable-media convenience; the post-fix behavior itself already fails the operation with -EFSCORRUPTED, so the primary trade-off of patching is simply that a corrupted EA inode now aborts the xattr operation rather than silently churning.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Image SL-Micro Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.115 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.0/toolbox:latest Affected

Share

CVE-2025-40190 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy