Katalog CVE

CVE-2026-98449

Niskie ryzyko· EPSS 5%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W kliencie SMB w jądrze Linux, gdy wysłanie żądania złożonego się nie powiedzie, smb_send_rqst() inicjuje ponowne połączenie, ale compound_send_recv() nadal ma te midy w pending_mid_q i odblokowuje serwer bez ich usunięcia. Podczas ponownego połączenia cifs_abort_connection() uruchamia callbacki midów, które zwracają kredyty i zmniejszają in_flight, a następnie ścieżka błędu wysyłania zwraca te same kredyty ponownie, powodując podwójne zmniejszenie in_flight i ostrzeżenie w smb2_add_credits().

Ocena ryzyka

Podwójne rozliczanie kredytów i licznika in_flight może prowadzić do niestabilności klienta SMB, ostrzeżeń jądra, a w skrajnych przypadkach do zawieszenia lub awarii połączenia.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę usuwającą midy z pending_mid_q przed odblokowaniem serwera przy błędzie wysyłania oraz ustawiającą cancelled_mid[], aby ścieżka wyjściowa nie usuwała ich ponownie.

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: smb: client: delete compound mids on send failure before unlock When sending a compound request fails, smb_send_rqst() kicks off a reconnect. compound_send_recv() still has those mids on pending_mid_q, but it unlocks the server without removing them first. During reconnect, cifs_abort_connection() walks pending_mid_q and runs each mid callback. With no response yet, those callbacks return credits and drop in_flight. Then compound_send_recv()'s send-error path returns the same credits again. in_flight ends up decremented twice and smb2_add_credits() WARNs. syzbot hits this during SMB2_negotiate when the socket send fails. cifs_call_async() already calls delete_mid() before unlock on send failure. Do the same for compound chains and set cancelled_mid[] so the out: path does not delete them again.

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