CVE-2026-64025 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 20.

리눅스 커널에서 다음 취약점이 해결되었습니다:

bpf, skmsg: ktls rx와의 경쟁 상태(racing)로 인한 verdict sk_data_ready 수정

sk_psock_strp_data_ready()는 이미 tls_sw_has_ctx_rx()를 확인하고 TLS RX 컨텍스트가 존재하는 경우 psock->saved_data_ready로 위임하여 수신 큐의 소유권을 가진 TLS strparser와의 충돌을 피합니다(커밋 e91de6afa81c, "bpf: ktls와 함께 sk_skb 프로그램 유형 실행 수정").

반면 sk_psock_verdict_data_ready()에는 이에 상응하는 보호 장치가 없습니다. 소켓이 TLS RX가 구성되기 전에 sockmap(BPF_SK_SKB_VERDICT)에 삽입되면 tls_sw_strparser_arm()은 sk_psock_verdict_data_ready를 rx_ctx->saved_data_ready로 저장합니다. 데이터 도착 시:

tls_data_ready -> tls_strp_data_ready -> tls_rx_msg_ready -> saved_data_ready() = sk_psock_verdict_data_ready() -> tcp_read_skb()가 __skb_unlink()을 통해 sk_receive_queue를 비우지만, tcp_eat_skb()를 호출하지 않으므로 copied_seq가 전진되지 않습니다.

이후 tls_strp_msg_load()는 tcp_inq() >= full_len(구식 데이터)임을 발견하고, 이제 빈 큐인 상태에서 tcp_recv_skb()를 호출하여 WARN_ON_ONCE(!first)에 도달하며, rx_ctx->strp.anchor.frag_list가 psock 소유의 (잠재적으로 해제된) skb를 가리킨 채 반환합니다. 이후 tls_decrypt_sg()는 해당 frag_list를 순회하게 되며 이는 use-after-free 취약점으로 이어집니다.

sk_psock_strp_data_ready()와 동일한 수정을 적용합니다: TLS RX 컨텍스트가 존재하는 경우 psock->saved_data_ready(sock_def_readable)를 호출하여 recv() 대기 중인 프로세스들을 깨우고 즉시 반환하며, 수신 큐는 변경하지 않습니다. TLS는 큐에 대한 독점 소유권을 유지하고 tls_sw_recvmsg()를 통해 레코드를 정상적으로 복호화합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380185

EPSS

0.00000

활동

낮음

출처

Do you know our Splunk app?

Download it now for free!