CVE-2026-89788
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
ksmbd: napraw połączenie drzewa po zwolnieniu w smb2_tree_connect()
ksmbd_tree_conn_connect() publikuje nowe połączenie drzewa w
sess->tree_conns z pojedynczym odwołaniem i zwraca jego wskaźnik
smb2_tree_connect(). Procedura obsługi kontynuuje inicjalizację obiektu i
zbuduj odpowiedź po publikacji. Może to spowodować jednoczesne wylogowanie się z sesji
usuń połączenie i porzuć to odniesienie, uwalniając obiekt
przewodnik nadal go używa.
BŁĄD: KASAN: użycie płyty po zwolnieniu w smb2_tree_connect+0xe3d/0xf90
smb2_tree_connect (fs/smb/server/smb2pdu.c:2872)
handle_ksmbd_work
proces_jedna_praca
wątek_roboczy
wątek
Po pomyślnym wykonaniu funkcji xa_store() przed zwolnieniem skorzystaj z drugiego odniesienia
drzewo_conns_lock. Oryginalne odwołanie należy do wpisu xarray i
druga należy do tworzącej procedury obsługi smb2_tree_connect().
Zachowaj równowagę referencji na każdej ścieżce:
- Przy normalnym wyjściu lub błędzie po publikacji, smb2_tree_connect()
usuwa odniesienie do twórcy. Usuwanie błędów również wywołuje
ksmbd_tree_conn_disconnect(), która usuwa odwołanie do tablicy xarray tylko wtedy, gdy
usuwa dokładny wpis.
- SMB2 TREE_DISCONNECT używa tego samego pomocnika do usuwania wpisów i upuszczania
jego odniesienie do tablicy x. Istniejące odwołanie do wyszukiwania w żądaniu pozostaje
własnością żądania i jest zwalniany przez istniejące czyszczenie.
- Wylogowanie sesji usuwa każdy wpis i usuwa jego odniesienie do tablicy x. Jeśli
wygrywa wyścig, późniejsze czyszczenie widzi, że wpis zniknął i znika
nie porzucaj już tego odniesienia.
Aby wymusić tę własność, zażądaj stanu rozłączenia i usuń plik
dokładny wpis atomowo w drzewie_conns_lock. Gwarantuje to jedną kroplę
dla odniesienia xarray i jedna kropla dla każdego użytkownika w locie, niezależnie od tego
z których wygrywa ścieżka rozdarcia. Jeśli wylogowanie usunie wpis wcześniej
inicjalizacja zostanie zakończona, nie uda się połączyć zamiast zaznaczyć
odłączony obiekt TREE_CONNECTED.
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org