CVE-2026-80852 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 04.

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

tls: device: tls_append_frag()의 배열 밖 쓰기(out-of-bounds write) 수정

syzkaller와 netdevsim TLS 오프로드 에뮬레이션 위에서 실행되는 로컬 syzbot 인스턴스를 통해 발견되었습니다. tls_device.c는 일반적으로 TLS 오프로드를 구현한 NIC가 있는 머신에서만 접근 가능합니다.

tls_push_data() 루프 하단에서 열린 레코드에 또 다른 frag이 들어갈 공간이 있는지 여부만 확인하며, MSG_MORE 조기 종료(early break)로 인해 해당 검사가 건너뛰어집니다. 이렇게 되면 레코드가 기존 frag 카운트와 함께 다음 시스템 호출까지 생존하게 되며, tls_append_frag() 또한 이를 검사하지 않습니다. 따라서 TLS_TX_ZEROCOPY_RO 환경에서 바이트 1~2개에 대한 splice(SPLICE_F_MORE)는 비결합(non-coalescing) 파이프 페이지를 추가하고 num_frags가 tls_record_info.frags[MAX_SKB_FRAGS]의 끝을 벗어나게 됩니다. 레코드가 푸시되면 tls_push_record()이 sg_tx_data[MAX_SKB_FRAGS]에 대해 동일한 인덱스를 실행하며, sg_set_page()로 인한 쓰기가 그 뒤에 있는 destruct_work 영역에 발생하고 작업 큐(workqueue)가 이를 호출합니다.

바이트 제한은 copy가 0으로 떨어지고 루프가 같은 검사로 이어지므로 문제없습니다. 그러나 frag 카운트에는 이러한 피드백 메커니즘이 없습니다.

열린 레코드를 유지하는 대신 레코드를 푸시해야 합니다. 이는 일반 TCP 소켓의 동작 방식과 일치합니다 - tcp_sendmsg_locked()는 복사(copy) 경로와 MSG_SPLICE_PAGES 경로 모두에서 tcp_mark_push() 및 new_segment를 사용하며, tls_sw는 sk_msg 링이 가득 차면 MSG_MORE 여부와 상관없이 full_record를 설정합니다.

BUG: KASAN: slab-out-of-bounds in tls_append_frag ( net/tls/tls_device.c:269) Write of size 8 at addr ffff8881104d1530 by task tls_oob/450

CPU: 2 UID: 0 PID: 450 Comm: tls_oob Not tainted 7.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-398976

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!