CVE-2026-52924
sctp: 오래된 COOKIE-ECHO 처리 시 outqueue 제거
- 게시됨
- 2026. 6. 24.
- 업데이트됨
- 2026. 9. 15.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 9. 7.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 37.4%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Linux 커널에서 다음 취약점이 해결되었습니다: sctp: 오래된 COOKIE-ECHO 처리 시 outqueue 제거 sctp_stream_update()는 연관(association)이 설정/재구성 중 COOKIE_WAIT 상태로 전환될 때만 호출됩니다. 이 경로에서 아웃바운드 스트림 스케줄러 상태(stream->out_curr)는 깨끗해야 하는데, 상태 머신이 이미 부분적으로 진행되지 않는 한 아직 사용자 데이터가 전송되지 않았을 것이기 때문입니다. 그러나 sctp_sf_do_5_2_6_stale()에는 모서리 케이스가 존재합니다: Stale Cookie ERROR가 수신되면 연관이 COOKIE_ECHOED에서 COOKIE_WAIT로 롤백됩니다. 이 시나리오에서는 사용자 데이터가 이미 큐에 쌓여 있고 COOKIE-ECHO 청크와 함께 번들링되었을 수도 있습니다. 롤백 중에 sctp_stream_update()는 이전 스트림 테이블을 해제하고 새 테이블을 설치하지만, stream->out_curr을 무효화하지는 않습니다. 그 결과 out_curr이 이전 스트림 상태의 해제된 sctp_stream_out 항목을 여전히 가리킬 수 있습니다. 이후 SCTP 스케줄러 디큐 경로(FCFS, RR, PRIO 등)는 stream->out_curr->ext에 의존하므로, 이전 스트림 상태가 sctp_stream_free()를 통해 해제된 후 use-after-free가 발생할 수 있습니다. 이로 인해 다음과 같은 크래시가 발생합니다(Yuqi가 보고): BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140 Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312 CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full) sctp_sched_fcfs_dequeue+0x13a/0x140 sctp_outq_flush+0x1603/0x33e0 sctp_do_sm+0x31c9/0x5d30 sctp_assoc_bh_rcv+0x392/0x6f0 sctp_inq_push+0x1db/0x270 sctp_rcv+0x138d/0x3c10 Stale Cookie 사례를 처리할 때 연관 outqueue를 완전히 제거하여 이 문제를 해결합니다. 이렇게 하면 보류 중인 모든 전송 및 재전송 상태가 삭제되고, 스케줄러에 캐시된 모든 포인터가 무효화되어 COOKIE_WAIT 재시작 중에 스트림 상태를 안전하게 재구축할 수 있습니다. stream->out_curr만 업데이트하는 것으로는 충분하지 않습니다. 큐에 쌓인 데이터와 재전송 가능한 데이터가 여전히 이전 스트림 상태를 참조하여 이후 디큐 경로에서 use-after-free를 유발할 수 있기 때문입니다.
소스
1CVE-2026-52924에 대한 기술 분석: Linux 커널 SCTP의 만료된 쿠키 처리에서 발생하는 심각한 use-after-free 취약점으로, 근본 원인, 공격 흐름, 수정 사항 및 탐지 방법을 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.