Katalog CVE

CVE-2026-63909

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.63%

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

Streszczenie

W jądrze Linux w systemie plików ksmbd wykryto regresję powodującą odczyt poza zakresem (OOB) w pętli przetwarzania ACE w funkcji smb_check_perm_dacl(). Błąd wynika z nieprawidłowego sprawdzenia granic, które uniemożliwia przerwanie pętli, co prowadzi do odczytu 2 bajtów poza przydzieloną pamięcią podczas operacji SMB2_CREATE.

Ocena ryzyka

Podatność umożliwia zdalnemu atakującemu odczytanie danych z pamięci jądra poza przydzielonym buforem, co może prowadzić do wycieku poufnych informacji lub destabilizacji systemu.

Rekomendacja

Należy natychmiast zaktualizować jądro Linux do wersji zawierającej poprawkę, która przywraca prawidłowe sprawdzanie granic (wymagane co najmniej 16 bajtów) w funkcji smb_check_perm_dacl().

Inne podatności w Linux kernel

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

In the Linux kernel, the following vulnerability has been resolved: ksmbd: OOB read regression in smb_check_perm_dacl() ACE-walk loops Commit d07b26f39246 ("ksmbd: require minimum ACE size in smb_check_perm_dacl()") introduced a transposed bounds check: if (offsetof(struct smb_ace, sid) + aces_size < CIFS_SID_BASE_SIZE) Since offsetof(..sid) is 8 and CIFS_SID_BASE_SIZE is 8, this evaluates to `aces_size < 0`. Because `aces_size` is always non-negative, this check becomes dead code and never breaks the loop. Worse, that commit removed the old 4-byte guard, meaning the loop now reads `ace->size` (offset 2) even when `aces_size` is 0-3 bytes. This re-opens a 2-byte heap out-of-bounds (OOB) read past the pntsd allocation during subsequent SMB2_CREATE operations. Fix this by properly transposing the comparison to require at least 16 bytes (8-byte offset + 8-byte SID base), matching the correct form used in smb_inherit_dacl().

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