CVE-2025-39913
tcp_bpf: tcp_bpf_send_verdict()가 psock->cork 할당에 실패할 때 sk_msg_free() 호출
- 게시됨
- 2025. 10. 1.
- 업데이트됨
- 2026. 6. 11.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 8. 10.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 8.1%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
리눅스 커널에서 다음 취약점이 해결되었습니다: tcp_bpf: tcp_bpf_send_verdict()가 psock->cork 할당에 실패할 때 sk_msg_free()를 호출합니다. syzbot이 아래의 splat을 보고했습니다. [0] 이 repro는 다음을 수행합니다: 1. bpf_msg_cork_bytes(msg, cork_bytes)를 호출하는 sk_msg prog를 로드합니다. 2. prog를 SOCKMAP에 연결합니다. 3. 소켓을 SOCKMAP에 추가합니다. 4. 결함 주입(fault injection)을 활성화합니다. 5. cork_bytes보다 작은 데이터를 전송합니다. 5번에서 데이터는 bpf_msg_cork_bytes()에 지정된 cork_bytes보다 작으므로 다음 sendmsg()로 이월됩니다. 그런 다음 tcp_bpf_send_verdict()는 데이터를 보관하기 위해 psock->cork를 할당하려고 시도하지만, 결함 주입 + __GFP_NOWARN으로 인해 조용히 실패합니다. 할당이 실패하면 sk_msg_alloc()이 수행한 sk->sk_forward_alloc 변경을 되돌려야 합니다. tcp_bpf_send_verdict가 psock->cork 할당에 실패할 때 sk_msg_free()를 호출합시다. 또한 호출자 sendmsg에 적절한 오류를 반환할 수 있도록 "*copied"도 업데이트해야 합니다. psock->cork 할당에 실패합니다. 지금까지 cork된 것이 없으므로 이 패치는 단순히 "*copied"를 0으로 설정합니다. [0]: WARNING: net/ipv4/af_inet.c:156 at inet_sock_destruct+0x623/0x730 net/ipv4/af_inet.c:156, CPU#1: syz-executor/5983 Modules linked in: CPU: 1 UID: 0 PID: 5983 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:inet_sock_destruct+0x623/0x730 net/ipv4/af_inet.c:156 Code: 0f 0b 90 e9 62 fe ff ff e8 7a db b5 f7 90 0f 0b 90 e9 95 fe ff ff e8 6c db b5 f7 90 0f 0b 90 e9 bb fe ff ff e8 5e db b5 f7 90 <0f> 0b 90 e9 e1 fe ff ff 89 f9 80 e1 07 80 c1 03 38 c1 0f 8c 9f fc RSP: 0018:ffffc90000a08b48 EFLAGS: 00010246 RAX: ffffffff8a09d0b2 RBX: dffffc0000000000 RCX: ffff888024a23c80 RDX: 0000000000000100 RSI: 0000000000000fff RDI: 0000000000000000 RBP: 0000000000000fff R08: ffff88807e07c627 R09: 1ffff1100fc0f8c4 R10: dffffc0000000000 R11: ffffed100fc0f8c5 R12: ffff88807e07c380 R13: dffffc0000000000 R14: ffff88807e07c60c R15: 1ffff1100fc0f872 FS: 00005555604c4500(0000) GS:ffff888125af1000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005555604df5c8 CR3: 0000000032b06000 CR4: 00000000003526f0 Call Trace: <IRQ> __sk_destruct+0x86/0x660 net/core/sock.c:2339 rcu_do_batch kernel/rcu/tree.c:2605 [inline] rcu_core+0xca8/0x1770 kernel/rcu/tree.c:2861 handle_softirqs+0x286/0x870 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680 irq_exit_rcu+0x9/0x30 kernel/softirq.c:696 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1052 </IRQ>
소스
1책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.