Katalog CVE

CVE-2026-74588

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W jądrze Linuxa w protokole SCTP występuje błąd polegający na tym, że chunk nie jest aktualizowany przy przenoszeniu na listę innego transportu. Może to prowadzić do użycia po zwolnieniu (use-after-free), gdy transport zostanie usunięty, a wskaźnik chunk->transport pozostanie nieaktualny. Poprawka ustawia chunk->transport podczas przenoszenia.

Ocena ryzyka

Ryzyko awarii systemu lub zdalnego wykonania kodu w wyniku użycia po zwolnieniu w stosie SCTP. Atakujący może wykorzystać tę podatność do naruszenia integralności systemu.

Rekomendacja

Zainstaluj poprawkę jądra Linux dla CVE-2026-74588. Upewnij się, że systemy korzystające z SCTP są zaktualizowane.

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

In the Linux kernel, the following vulnerability has been resolved: sctp: keep chunk->transport in step with the list it is queued on __sctp_outq_flush_rtx() moves a gap-acked chunk onto another transport's transmitted list without updating chunk->transport: if (chunk->tsn_gap_acked) { list_move_tail(&chunk->transmitted_list, &transport->transmitted); continue; } The chunk then sits on a live transport's list while chunk->transport still names a different one. If that transport is removed - sctp_assoc_rm_peer() from an ASCONF Delete-IP - sctp_transport_free() RCU-frees it and the chunk is left with a dangling pointer. sctp_assoc_rm_peer() scrubs peer->transmitted and asoc->outqueue.out_chunk_list, but the chunk is on neither. The pointer is not followed while tsn_gap_acked is set. A SACK that reneges on the TSN clears the flag, and the next SACK reaches tchunk->transport->flight_size -= sctp_data_size(tchunk); inside the freed transport. KASAN reports a slab-use-after-free read in sctp_check_transmitted(), freed from sctp_assoc_rm_peer(). Both the removal and the SACKs come from the association peer. Set chunk->transport at the move. The ordinary resend path needs nothing: it reaches its list_move_tail() only after sctp_packet_append_chunk() returned SCTP_XMIT_OK, and __sctp_packet_append_chunk() has rebound the chunk by then. Discovered by XBOW, triaged by Baul Lee <[email protected]>

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