Katalog CVE

CVE-2026-90176

WysokieCVSS 8.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.49%

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

Streszczenie

W jądrze Linux w module ksmbd funkcja check_lock_range() używa zakresów domkniętych, więc przypadek start == end oznacza prawidłowy zakres jednobajtowy, a nie pusty. Skrót dla start == end pomijał obowiązkowe sprawdzanie blokad bajtowych dla jednobajtowych odczytów, zapisów, operacji copychunk oraz zakresów obcięcia, przez co operacja była dozwolona mimo konfliktującej blokady.

Ocena ryzyka

Konfliktujące blokady bajtowe nie są egzekwowane dla operacji jednobajtowych, co może prowadzić do uszkodzenia danych lub naruszenia spójności plików udostępnianych przez SMB. Organizacje korzystające z serwera plików ksmbd są narażone na błędy integralności danych.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę usuwającą skrót dla zakresów jednobajtowych w check_lock_range(). Po aktualizacji zweryfikuj działanie serwera ksmbd w środowisku testowym.

Inne podatności w Linux kernel (ksmbd)

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

In the Linux kernel, the following vulnerability has been resolved: ksmbd: Do not skip lock checks for single-byte ranges check_lock_range() uses inclusive ranges. Its callers pass the end offset as start + length - 1, so start == end represents a valid single-byte range rather than an empty range. The start == end shortcut therefore skips mandatory byte-range lock checks for one-byte reads, writes, copychunk operations and one-byte truncate ranges. A conflicting lock covering that byte is not checked and the operation is allowed to proceed. Remove the shortcut. The truncate size == inode->i_size case is already handled by only calling check_lock_range() when the new size differs from the current file size.

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