CVE-2026-98432
ipv4: RCU 유예 기간 후 inet_opt 및 ireq_opt 해제
- 게시됨
- 2026. 10. 15.
- 업데이트됨
- 2026. 11. 3.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 11. 1.
기본 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일
- 백분위수
- 39.6%
- 모델 날짜
- 2026. 11. 2.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Linux 커널에서 다음과 같은 취약점이 해결되었습니다: ipv4: RCU 유예 기간 이후에 inet_opt와 ireq_opt를 해제합니다. tcp_v4_syn_recv_sock()는 ireq->ireq_opt의 소유권을 복사하지 않고 자식 소켓(newinet->inet_opt)으로 이전합니다. 다른 CPU가 동시에 동일한 요청 소켓에 대한 재전송된 SYN을 처리하고 tcp_check_req()에서 SYNACK을 보낼 수 있습니다. tcp_v4_send_synack()과 inet_csk_route_req()는 rcu_read_lock()만 보유한 상태에서 ireq->ireq_opt를 읽고, 이어서 ip_build_and_send_pkt()와 ip_options_build()가 opt->optlen을 두 번 읽습니다. SYNACK 타이머 자체는 문제가 되지 않는다는 점에 유의하십시오. 타이머는 자신의 요청 소켓에 대한 참조를 보유하고 있으며, inet_csk_reqsk_queue_drop()가 자식이 해제되기 전에 timer_delete_sync()를 호출합니다. 커밋 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") 이후로 요청 소켓은 리스너 잠금을 보유하지 않고 처리되므로, SYNACK이 여전히 구성되는 동안 자식 소켓이 해제되는 것을 막을 수 있는 것이 없습니다. TCP 자식 소켓에는 SOCK_RCU_FREE가 없으며, inet_sock_destruct()는 일반 kfree()로 inet_opt를 해제하여 ip_options_build()에서 use-after-free를 발생시킵니다. 요청 소켓 마이그레이션(net.ipv4.tcp_migrate_req=1 또는 BPF_SK_REUSEPORT_SELECT_OR_MIGRATE 프로그램)에서도 유사한 문제가 존재합니다. reqsk_timer_handler()는 inet_reqsk_clone()으로 요청 소켓을 복제하여 이전 요청 소켓과 그 복제본이 동일한 ireq_opt를 공유하게 한 다음, reqsk_migrate_reset()이 이전 소켓의 포인터를 지웁니다. 이전 요청 소켓에 대한 참조를 보유한 다른 CPU가 복제본이 해제될 때 여전히 이러한 옵션을 사용 중일 수 있으며(SYNACK을 보내거나 tcp_v4_syn_recv_sock()에서 자식을 생성), tcp_v4_reqsk_destructor() 역시 일반 kfree()를 사용합니다. 읽기 측은 이미 RCU를 사용하고 있으며, inet_opt를 교체하는 다른 경로(do_ip_setsockopt(), cipso_v4_sock_setattr() 등)는 이미 kfree_rcu()를 사용합니다. inet_sock_destruct()와 tcp_v4_reqsk_destructor()에서도 kfree_rcu()를 사용하십시오. IPv6는 tcp_v6_syn_recv_sock()가 옵션을 복제하기 때문에 첫 번째 문제의 영향을 받지 않습니다. tcp_v6_reqsk_destructor()는 CALIPSO에 의해서만 설정되는 ipv6_opt와 관련하여 동일한 마이그레이션 문제를 가지고 있습니다. 이는 별도의 패치에서 다루어질 예정입니다.
소스
Linux IPv4 TCP ireq_opt use-after-free인 CVE-2026-98432를 차분 SYN-ACK 옵션 에코를 통해 탐지하는 블랙박스 원격 프로브이며, 정적 vmlinux 검증 기능도 제공합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.