Skip to content
CVE Ledger
  • Newest CVEsPage
  • Recently added to KEVPage
  • Rising exploitation (EPSS)Page
  • Weekly digestPage
  • StatisticsPage
  • WatchlistPage
  • API docsPage
  • MCP serverPage
  • AboutPage
  • Data sourcesPage
  • Data statusPage
  • ChangelogPage
  • How it's builtPage
  • Support the projectPage

14 results

Back

CVE-2026-98682smb: client: drain and invalidate before server-side copy/clone

Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: drain and invalidate before server-side copy/clone cifs_file_copychunk_range() and the clone (FICLONE) path of cifs_remap_file_range() do not serialise the destination page cache against the server-side copy the way the other server-side range operations (smb3_zero_range(), smb3_punch_hole(), smb3_collapse_range() and smb3_insert_range()) do. cifs_file_copychunk_range() invalidates the destination range with filemap_invalidate_inode(), which takes and drops the mapping's invalidate_lock internally, so the lock is no longer held when the copychunk ioctl is issued. It also never drains in-flight netfs I/O on the target. The clone path never takes the invalidate_lock at all (only i_rwsem), uses a bare truncate_inode_pages_range() and likewise does not drain outstanding I/O. As a result an asynchronous destination writeback can complete after the server-side copy/clone has run and reinstate stale data over the region just written by the server, corrupting the file. This is the same class of corruption as commit d7d2adcd022b ("smb/client: flush dirty data before punching a hole") and has been seen randomly in generic/363 against Windows Server. Fix both paths to follow the established ordering: hold the target mapping's invalidate_lock across the flush and invalidation of the destination and the server ioctl, and call netfs_wait_for_outstanding_io() on the target to drain in-flight writes before the ioctl is issued. Only the target inode's invalidate_lock is required, as the source is merely flushed and not invalidated; i_rwsem (already held via lock_two_nondirectories()) is acquired before the invalidate_lock, matching the VFS lock ordering. Since filemap_invalidate_inode() takes that same lock internally, replace it with its own unmap/flush/invalidate steps instead of calling it, and return early on a zero-length copy to avoid a range underflow.

Timeline

  1. ID reserved

    By Linux

  2. · 23 days later

    Published

  3. · 23 days later

    Record updated

Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.

Scores

No CVSS score yet: neither the CNA, CISA nor NVD has scored this CVE. NVD status: Received.

EPSS (exploitation in 30 days)
0.17% · top 94% of all CVEs (12 Nov 2026)
Loading the EPSS history…

The list uses the assigner's score when there is one, then CISA's, then NVD's: Not scored.

Affected products

  • Linux · Linux

    • affected c54fc3a4f375663f2361a9cbb2955fb4ef912879 – < 6e7a06704457594f06e4ea58a17a5d162ccc735c
    • affected c54fc3a4f375663f2361a9cbb2955fb4ef912879 – < e97dac26ed2cce04f9d159cc99e1eca828c5d49e
    • affected c54fc3a4f375663f2361a9cbb2955fb4ef912879 – < dc71660f11ef2fecc0695a41e49cd496a9d255ab
    • affected c54fc3a4f375663f2361a9cbb2955fb4ef912879 – < c9b1194e8ec99d95db25db45edd2fbf690f043ab
    • affected 358bd5f436d820bb758833050aae065b35d6986c
    • affected 43801359c8971cc49b4a4db5015fba77fbd09c32
    • affected 6.1.68 – < 6.2
    • affected 6.6.7 – < 6.7
  • Linux · Linux

    • affected 6.7
    • unaffected < 6.7
    • unaffected 6.12.117 – ≤ 6.12.*
    • unaffected 6.18.61 – ≤ 6.18.*
    • unaffected 7.2.10 – ≤ 7.2.*
    • unaffected 7.3 – ≤ *

References

References4

Sources

The same CVE in the primary databases and aggregators, to check against.

Badge for a README or a ticket

CVE-2026-98682 badge
[![CVE-2026-98682](https://cveledger.app/badge/CVE-2026-98682.svg)](https://cveledger.app/cve/CVE-2026-98682)

Record last updated .