CVE-2026-99042 in Linux
요약
\~에 의해 VulDB • 2026. 10. 24.
Linux 커널에서 다음 취약점이 해결되었습니다:
io_uring/net: 24바이트 sockaddr_in6에 대한 CONNECT 필터 필드 채우기
io_connect_bpf_populate() 함수는 addr_len이 sizeof(struct sockaddr_in6)(즉, 28 바이트) 이상일 때만 AF_INET6에 대해 connect.port 및 connect.v6_addr를 채웁니다.
IPv6 연결 경로는 sin6_port와 sin6_addr가 이미 포함된 SIN6_LEN_RFC2133(24바이트)도 허용합니다. io_connect()는 addr_len을 변경 없이 소켓 계층으로 전달합니다.
addr_len이 24일 때, 필터는 포트 및 주소가 모두 0인 AF_INET6 family를 감지하지만, 커널은 실제 대상에 연결됩니다. IPv6 포트 또는 주소를 거부하는 필터가 우회됩니다. addr_len이 28일 때는 connect.port == P 조건을 거부하여 [::1]:P 접속 시 -EACCES 오류를 반환하지만, addr_len이 24일 때는 정상적으로 연결합니다.
임계값으로 SIN6_LEN_RFC2133을 사용해야 합니다. sin6_scope_id는 누락된 경우 0으로 유지됩니다.
이 임계값 불일치는 내 지시에 따라 이 훅(hook)과 net/ipv6의 길이 검사 코드를 비교한 AI 코드 어시스턴트(Claude Code)에 의해 발견되었으며, 해당 도구는 재현 프로그램(reproducer) 및 패치 초안도 작성했습니다. 저는 7.3-rc6 버전의 VM에서 우회 현상과 수정 사항을 검증했으며, 7.2에도 동일한 코드가 있음을 확인했습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.