CVE Catalog

CVE-2026-99137

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel cifs subsystem, cifs_do_truncate updates i_size without a valid file handle. When find_writable_file() returns null, the inode size is set to 0 even though the server file is unchanged, causing inconsistency.

Risk Assessment

A mismatch between in-memory and server-side file size may occur, risking data loss or misbehavior of CIFS-based applications. Requires local access to file operations.

Recommendation

Update the Linux kernel to a version with the fix moving netfs_resize_file() and cifs_setsize() into the valid-handle branch and evicting stale cache pages. Monitor truncate operations on CIFS shares.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: cifs: don't update i_size in cifs_do_truncate without a cached handle If find_writable_file() returns null, cifs_file_flush will return 0 without issuing set_file_size, and the outer 'if (!rc)' block will set i_size to 0 before telling the server to truncate. If the cifs_open() then fails, the inode will have size 0, while the server file is unchanged. Move the netfs_resize_file() and cifs_setsize() into the 'if (cfile)', so they only run after a successful set_file_size. In the no-handle else branch, evict stale pages with truncate_inode_pages before the O_TRUNC open to dispose of old cache pages, and let the open response set the i_size.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS