CVE-2026-98124

Source
https://cve.org/CVERecord?id=CVE-2026-98124
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98124.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-98124
Downstream
Published
2026-09-25T10:36:06Z
Modified
2026-09-26T03:48:32Z
Summary
smb/client: invalidate fscache for fallocate range operations
Details

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

smb/client: invalidate fscache for fallocate range operations

smb3_zero_range(), smb3_punch_hole(), smb3_insert_range(), and smb3_collapse_range() modify file contents through server-side range operations. These operations discard the affected page cache, but leave the FS-Cache cookie valid, so a later read may return data cached before the range operation.

Fix this by invalidating FS-Cache after outstanding I/O has completed and before modifying the file on the server.

Run the following as root on a CIFS mount with fsc enabled and an active CacheFiles backend:

    bash -c '
            MNT=/mnt/cifs
            FILE="$MNT/repro"

            # Generate four 1 MiB random blocks: [A][B][C][D].
            dd if=/dev/urandom of=/tmp/src bs=1M count=4 status=none

            # Expected contents after zeroing B: [A][zero][C][D].
            cp /tmp/src /tmp/expected
            dd if=/dev/zero of=/tmp/expected bs=1M seek=1 count=1 \
                    conv=notrunc status=none
            cp /tmp/src "$FILE"

            # Populate FS-Cache, then discard the page cache.
            sync
            echo 1 > /proc/sys/vm/drop_caches
            cat "$FILE" > /dev/null
            sync
            echo 1 > /proc/sys/vm/drop_caches

            fallocate --zero-range -o 1M -l 1M "$FILE"

            if cmp -s /tmp/expected "$FILE"; then
                    echo "readback: OK"
            else
                    echo "readback: STALE DATA"
            fi
    '

Before this change, the readback differs from /tmp/expected:

    readback: STALE DATA

After this change, it matches:

    readback: OK
Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98124.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
31742c5a331766bc7df6b0d525df00c6cd20d5a6
Fixed
93c6e5a8d7c5071d586c1411596d5db5faad22b2
Fixed
448ba0ae65ca61064183564d2983c9aa59bd6ba7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98124.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.17.0
Fixed
7.2.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98124.json"