CVE-2026-74589 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 22.

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

bpf, sockmap: send verdict에서의 sk_redir Use-After-Free 수정

sk_psock_msg_verdict()는 psock->sk_redir에 대한 소켓 참조를 가져옵니다. tcp_bpf_send_verdict()는 소스 소켓 잠금을 유지한 상태에서 해당 포인터를 복사하지만, tcp_bpf_sendmsg_redir() 주변에서 잠금을 해제하기 전에 로컬 복사에 대한 참조를 확보하지 않습니다.

apply_bytes가 캐시된 verdict을 활성화 상태로 유지하면, 동일한 소스 소켓에 대한 다른 sendmsg() 호출이 나머지 바이트를 소비하고 첫 번째 스레드가 여전히 원본 로컬 포인터만 보유하고 있는 동안 캐시된 참조를 해제할 수 있습니다:

CPU 0 CPU 1 sk_redir = psock->sk_redir apply_bytes remains nonzero release_sock(sk) lock_sock(sk) apply_bytes reaches zero psock->sk_redir = NULL release_sock(sk) tcp_bpf_sendmsg_redir(sk_redir) sock_put(sk_redir) tcp_bpf_sendmsg_redir(sk_redir)

최종적인 sock_put() 호출은 CPU 0이 sk_redir을 역참조하기 전에 sk_redir을 해제할 수 있습니다.

KASAN에서 다음 오류를 보고했습니다:

BUG: KASAN: slab-use-after-free in tcp_bpf_sendmsg_redir+0xf39/0x1020 Read of size 8 at addr ffff888108537090 by task poc/87 Call Trace: tcp_bpf_sendmsg_redir+0xf39/0x1020 tcp_bpf_sendmsg+0x977/0x1a50 __sys_sendto+0x32c/0x3a0 __x64_sys_sendto+0xdb/0x1b0 Allocated by task 85: sk_prot_alloc+0x56/0x210 sk_clone+0x6f/0x14b0 inet_csk_clone_lock+0x24/0x740 tcp_create_openreq_child+0x25/0x2710 tcp_v4_syn_recv_sock+0x10a/0xe00 Freed by task 0: __kasan_slab_free+0x43/0x70 slab_free_after_rcu_debug+0xa6/0x1e0 rcu_core+0x50a/0x1850 Last potentially related work creation: __sk_destruct+0x3da/0x540 sk_psock_destroy+0x81e/0xab0 process_one_work+0x63a/0x1070

소스 소켓 잠금이 psock->sk_redir을 보호하는 동안 임시 소켓 참조를 확보하고, tcp_bpf_sendmsg_redir()가 반환한 후에 이를 해제합니다. 이렇게 하면 각 잠금 없는 사용이 캐시된 verdict 소유권과 독립적으로 유지됩니다.

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

책임이 있는

Linux

예약하다

2026. 08. 15.

모더레이션

수락

항목

VDB-394383

EPSS

0.00000

활동

낮음

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!