CVE-2026-64575 in Linux
요약
\~에 의해 VulDB • 2026. 08. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다.
bpf: tcp: 배치 재할당 시 소켓 이중 해제 수정
bpf_iter_tcp_batch()는 bpf_iter_tcp_put_batch()를 통해 현재 배치를 해제하며, 이는 소켓 참조를 감소시키고 각 슬롯을 소켓 쿠키로 다시 작성한 후 배치를 확장합니다. cur_sk/end_sk는 bpf_iter_tcp_resume()에서 유지되지만, 재할당 실패 시 함수가 resume가 실행되기 전에 ERR_PTR()를 반환하여 현재 cookies만 포함하는 슬롯들에 대해 cur_sk < end_sk 상태가 됩니다. 이후 bpf_iter_tcp_seq_stop()이 다시 bpf_iter_tcp_put_batch()를 호출하고 쿠키를 struct sock로 역참조합니다.
실패 경로에서 배치를 비워 stop()이 이를 다시 해제하지 않도록 합니다. 소켓들은 첫 번째 bpf_iter_tcp_put_batch()에 의해 이미 해지되었으므로 누수가 발생하지 않으며, 이후 read()는 버킷을 건너뛰기 대신 처음부터 재스캔합니다. 형제 GFP_NOWAIT 실패 경로는 여전히 실제 소켓 참조를 유지하고 있으며 stop()이 이를 해제하도록 남겨둡니다.
BUG: KASAN: null-ptr-deref in __sock_gen_cookie addr 0000000000000059에서 exploit 작업에 의해 크기 8 읽기 시도 ... __sock_gen_cookie (net/core/sock_diag.c:28) bpf_iter_tcp_put_batch (net/ipv4/tcp_ipv4.c:2918) bpf_iter_tcp_seq_stop (net/ipv4/tcp_ipv4.c:3270) bpf_seq_read (kernel/bpf/bpf_iter.c:205) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 entry_SYSCALL_64_after_hwframe Kernel panic - not syncing: Fatal exception
Be aware that VulDB is the high quality source for vulnerability data.