Katalog CVE

CVE-2026-89637

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W kliencie SMB jądra Linux funkcja cifs_check_trans2() przy błędnej odpowiedzi wtórnej T2 (nieprawidłowy nagłówek SMB lub odrzucenie PDU przez check2ndT2()) powoduje, że handle_mid() nadpisuje mid->resp_buf nowym buforem, wyciekając bufor pierwotny i pozostawiając wiszące wskaźniki server->smallbuf/bigbuf. Prowadzi to do use-after-free, gdy wątek demultipleksera ponownie użyje zwolnionego bufora.

Ocena ryzyka

Możliwe use-after-free w jądrze, co może prowadzić do zawieszenia systemu, uszkodzenia pamięci lub potencjalnej eskalacji uprawnień przez złośliwy serwer SMB.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która przy już ustawionym mid->multiRsp przerywa transakcję inline (multiEnd, dequeue_mid z malformed=true) bez modyfikowania wskaźników buforów.

Inne podatności w Linux kernel (SMB client)

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

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2 When a valid primary TRANSACT2 response has been received (mid->resp_buf set, mid->multiRsp true) and a subsequent secondary response causes cifs_check_trans2() to return false -- either because the SMB header is invalid (malformed != 0) or because check2ndT2() rejects the PDU -- handle_mid() overwrites mid->resp_buf with the new buffer (leaking the primary buffer) and, because mid->multiRsp is set, skips the server->smallbuf/bigbuf NULL-out. When the user thread frees mid->resp_buf, server->smallbuf or server->bigbuf is left dangling; the demux thread reuses it for the next packet, resulting in a use-after-free. Combine both early-exit conditions and, when mid->multiRsp is already set, abort the pending transaction inline: set multiEnd, call dequeue_mid() with malformed=true, and return true so handle_mid() exits without touching mid->resp_buf or the server buffer pointers.

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