CVE-2026-89639

Summary

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

cifs: use cifs_invalidate_cache() in cifs_do_truncate() for O_TRUNC

cifs_do_truncate() is invoked from cifs_open() without i_rwsem, so it cannot use cifs_resize_file_locked() to perform a proper fscache cookie resize. Instead, add cifs_invalidate_cache() after cifs_setsize().

cifs_invalidate_cache() calls fscache_invalidate(), which works without holding i_rwsem: it unconditionally increments inval_counter and sets FSCACHE_COOKIE_NO_DATA_TO_READ, ensuring that stale cached data is not served once the cookie is later activated by fscache_use_cookie(). Truncation to zero leaves no valid cached data, making invalidation the correct semantic here.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxefbcecdecefc26fa062c0e8210533ccad7d6bd4a < 8b9b10fe5b8b492b27b9f4546742ea541a650213affected
LinuxLinuxfa724e235cfdb0fb0bb427d0f9dfe864ae27403e < 81fc3868a7f726980ff845c1d0d271051e5f0f45affected
LinuxLinuxfa724e235cfdb0fb0bb427d0f9dfe864ae27403e < 364b183230586a62660a7280c1eb20138338eeb5affected
LinuxLinux6838bcac954487cc0a3c8a4ee1b3a3a30e244dc9affected
LinuxLinux75640976cf474eb41682a13f2dbe9534ac26ca50affected
LinuxLinux3513f3931c579ba2a715784c6dedc59e0d9282eeaffected
LinuxLinux6.18.44 < 6.18.50affected
LinuxLinux6.12.105 < 6.13affected
LinuxLinux7.1.8 < 7.2affected
LinuxLinux7.2affected
LinuxLinux0 < 7.2unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References