Katalog CVE

CVE-2026-89641

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linux w funkcji cifs_file_set_size() występuje use-after-free. Gdy gałąź else znajdzie uchwyt pliku do zapisu przez find_writable_file(), pożycza tcon i server z uchwytu, próbuje wykonać RPC set_file_size(), a następnie zwalnia uchwyt przez cifsFileInfo_put(). Jeśli set_file_size() zawiedzie, wykonanie przechodzi do ścieżki opartej na ścieżce, która ponownie używa pożyczonego tcon i server, mimo że cifsFileInfo_put() mógł zwolnić tcon. Poprawka ustawia tcon = NULL po cifsFileInfo_put(), aby wymusić bezpieczną ścieżkę cifs_sb_tlink().

Ocena ryzyka

Use-after-free w kliencie CIFS jądra może prowadzić do awarii systemu lub wykonania dowolnego kodu w kontekście jądra. Wymaga operacji na plikach na udziale CIFS/SMB.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej tę poprawkę. Unikaj operacji zmiany rozmiaru plików na udziałach CIFS na niezałatanych systemach.

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: cifs: clear tcon after cifsFileInfo_put() in cifs_file_set_size() When the else branch of cifs_file_set_size() finds a writable file handle via find_writable_file(), it borrows tcon and server from the handle's tlink, attempts the handle-based set_file_size() RPC, and then releases the handle with cifsFileInfo_put(). If set_file_size() fails, execution falls through to the path-based fallback, which reuses the borrowed tcon and server under the "if (tcon == NULL)" guard. Since tcon is not NULL at that point, the guard is skipped. If cifsFileInfo_put() dropped the last reference on a tlink that was already removed from the tlink tree (TCON_LINK_IN_TREE cleared, as happens during reconnection or session teardown), cifs_put_tlink() will have freed tcon; the subsequent set_path_size() call is then a use-after-free. Setting tcon = NULL after cifsFileInfo_put() causes the existing guard to take the cifs_sb_tlink() path, which acquires a fresh reference for the path-based operation or fails cleanly if the session is gone.

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