← CVE Intelligence

CVE-2025-40190

ext4: guard against EA inode refcount underflow in xattr update PUBLISHED

Description (CNA)

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.

Affected (CNA)

Vendor / productVersions
Linux / Linuxaffected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before ea39e712c2f5ae148ee5515798ae03523673e002; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 1cfb3e4ddbdc8e02e637b8852540bd4718bf4814; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 505e69f76ac497e788f4ea0267826ec7266b40c8; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 3d6269028246f4484bfed403c947a114bb583631; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 79ea7f3e11effe1bd9e753172981d9029133a278; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 6b879c4c6bbaab03c0ad2a983953bd1410bb165e; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 440b003f449a4ff2a00b08c8eab9ba5cd28f3943; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 57295e835408d8d425bef58da5253465db3d6888; affected 0 before 5.4.301; affected 0 before 5.10.246; affected 0 before 5.15.195; affected 0 before 6.1.157; affected 0 before 6.6.113; affected 0 before 6.12.54; affected 0 before 6.17.4
Linux / Linuxunaffected 5.4.301 through 5.4.*; unaffected 5.10.246 through 5.10.*; unaffected 5.15.195 through 5.15.*; unaffected 6.1.157 through 6.1.*; unaffected 6.6.113 through 6.6.*; unaffected 6.12.54 through 6.12.*; unaffected 6.17.4 through 6.17.*; unaffected 6.18 through *

CWE

No CWE identifiers supplied.

References