Skip to main content
← All vulnerabilities
CVE-2026-89639

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.18.50, 6.13, 7.2, 7.2.4
None on Exploit-DB, Metasploit or GitHub

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From efbcecdecefc26fa062c0e8210533ccad7d6bd4a · fixed in 8b9b10fe5b8b492b27b9f4546742ea541a650213; From fa724e235cfdb0fb0bb427d0f9dfe864ae27403e · fixed in 81fc3868a7f726980ff845c1d0d271051e5f0f45; From fa724e235cfdb0fb0bb427d0f9dfe864ae27403e · fixed in 364b183230586a62660a7280c1eb20138338eeb5; From 6.18.44 · fixed in 6.18.50; From 6.12.105 · fixed in 6.13; From 7.1.8 · fixed in 7.2

  • Linux Linux

    7.2

  • KernelLinux

    fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4

References 3

git.kernel.org