Katalog CVE

CVE-2026-98124

ŚrednieCVSS 5.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.19%

Percentyl 8 - wyżej niż 8% wszystkich znanych CVE

Streszczenie

W jądrze Linux w kliencie SMB/CIFS wykryto błąd, w którym operacje modyfikujące zakres pliku po stronie serwera (zerowanie zakresu, dziurawienie, wstawianie i zwijanie zakresu) nie unieważniały pamięci podręcznej FS-Cache. W efekcie kolejne odczyty mogły zwracać nieaktualne dane zapisane w cache przed wykonaniem operacji na zakresie.

Ocena ryzyka

Organizacje korzystające z montaży CIFS z włączonym fsc i aktywnym backendem CacheFiles mogą odczytywać nieaktualne dane plików, co grozi błędami aplikacji, niespójnością danych lub błędnymi decyzjami biznesowymi opartymi na starych treściach.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę unieważniającą FS-Cache dla operacji zakresowych w kliencie SMB. Do czasu wdrożenia poprawki rozważ wyłączenie fsc na montażach CIFS, na których wykonywane są operacje fallocate na zakresach.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS