Odebrany

CVE-2026-89477

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

sctp: napraw deref NULL po nieprzesłanym zakończeniu RECONF

sctp_process_strreset_outreq(), sctp_process_strreset_addstrm_out() i
sctp_process_strreset_resp() kończy oczekującą rekonfigurację strumienia
żądanie, zatrzymując licznik czasu ponownej konfiguracji w transporcie, w którym został wysłany:

t = asoc->strreset_chunk->transport;
if (timer_delete(&t->reconf_timer))
sctp_transport_put(t);

chunk->transport jest przypisywany przez __sctp_packet_append_chunk(), gdy
fragment jest dołączany do pakietu wychodzącego, a sctp_outq_flush_ctrl() uzbraja
licznik czasu ponownej konfiguracji w tym samym momencie. Żądanie już opublikowane w
asoc->strreset_chunk, ale jeszcze nie przesłany, nie ma żadnego, więc kończę
dereferuje wartość NULL.

Dostać się tam można na dwa sposoby. zestawy sctp_send_asconf_del_ip().
asoc->src_out_of_asoc_ok bez wysyłania czegokolwiek, gdy adres jest
usunięte jest ostatnim powiązaniem, a następnie sctp_outq_flush_ctrl().
pozostawia w kolejce każdy fragment kontrolny inny niż ASCONF; jako jedyny
sctp_process_asconf_ack() usuwa tę flagę, pozostaje ona nadal. Nieuprzywilejowany
proces, który usuwa taki adres, a następnie prosi o zresetowanie strumienia
panikuje jądro z softirq. Partner nie potrzebuje ani ASCONF, ani lokalnego
pomoc: sctp_cmd_interpreter() odkorkuje kolejkę tylko raz w całości
pakiet został przetworzony, więc odpowiedź została zbudowana podczas przeglądania fragmentu RECONF
pozostaje nieprzesłany przez resztę tego spaceru i jeden fragment RECONF
przenoszenie [Przychodzące żądanie resetu SSN, Wychodzące żądanie resetu SSN,
Response] — lub dwie porcje RECONF w jednym pakiecie — osiągają ten sam wynik
wyłudzanie.

KASAN: null-ptr-deref w zakresie [0x00000000000001e8-0x00000000000001ef]
RIP: 0010:timer_delete+0x67/0x110
Zadzwoń do śledzenia:
<przerwanie>
sctp_process_strreset_addstrm_out (net/sctp/stream.c:832)
sctp_sf_do_reconf (net/sctp/sm_statefuns.c:4212)
sctp_do_sm (net/sctp/sm_sideeffect.c:1172)
sctp_assoc_bh_rcv (net/sctp/associola.c:1044)
sctp_rcv (net/sctp/input.c:243)
ip_local_deliver (net/ipv4/ip_input.c:262)
proces_backlog (net/core/dev.c:6680)
</IRQ>

Odpowiedź może jedynie potwierdzić faktycznie wysłane żądanie, więc zrób to
nie pasuje do asoc->strreset_chunk, podczas gdy fragment->transport ma wartość NULL. Strzeże
wyszukiwanie obejmuje wszystkie trzy miejsca zakończenia.

>_ 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