CVE-2026-98925 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 23.

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

bpf, sockmap: self-redirect 시 copied_seq의 중복 카운팅 수정

BPF stream_verdict 프로그램이 skb를 동일한 소켓으로 리디렉션(self-redirect with BPF_F_INGRESS)할 때, sk_psock_verdict_apply()는 tcp_eat_skb()를 호출하여 tcp_sk->copied_seq를 증가시킵니다. 그러나 이후 해당 skb는 소켓의 psock ingress 큐로 전달되고 나중에 tcp_bpf_recvmsg_parser()에 의해 읽히는데, 이 과정에서도 copied_from_self 계정 경로를 통해 copied_seq가 다시 증가합니다. 이러한 중복 카운팅으로 인해 copied_seq가 실제 데이터 길이의 2배만큼 증가하여 다음과 같은 오류를 유발합니다:

TCP recvmsg seq # bug 2: copied BF2E806, seq BF2E7FD, \ rcvnxt BF2E806, fl 0 WARNING: net/ipv4/tcp.c:2745 at tcp_recvmsg_locked+0x72b/0x2640 Call Trace: tcp_recvmsg+0x10a/0x500 sock_recvmsg+0x168/0x1d0 __sys_recvfrom+0x19a/0x2a0 __x64_sys_recvfrom+0xe4/0x1f0 do_syscall_64+0xf7/0x530 entry_SYSCALL_64_after_hwframe+0x77/0x7f

cleanup rbuf bug: copied BF2E806 seq BF2E806 rcvnxt BF2E806 WARNING: net/ipv4/tcp.c:1609 at tcp_cleanup_rbuf+0xf2/0x1c0 Call Trace: tcp_recvmsg_locked+0x8d1/0x2640 tcp_recvmsg+0x10a/0x500 sock_recvmsg+0x168/0x1d0 __sys_recvfrom+0x19a/0x2a0 __x64_sys_recvfrom+0xe4/0x1f0 do_syscall_64+0xf7/0x530 entry_SYSCALL_64_after_hwframe+0x77/0x7f

이 문제를 해결하기 위해 sk_psock_verdict_apply()의 시작 부분에서 self-redirect verdict를 __SK_PASS로 변환합니다. 이를 통해 __SK_REDIRECT 케이스(이는 sk_psock_eat_skb를 호출함)가 완전히 우회되며, __SK_PASS 경로가 skb를 psock ingress 큐에 큐잉하도록 합니다. 이후 데이터는 tcp_bpf_recvmsg_parser()를 통해 읽히며, 이는 copied_from_self 경로를 통해 copied_seq를 정확히 한 번만 증가시킵니다. 소켓 간 리디렉션(Cross-socket redirects)은 sk_psock_eat_skb()가 변경되지 않은 상태로 __SK_REDIRECT 경로를 계속 통과합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425693

EPSS

0.00000

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!