CVE-2025-68341 in Linux
요약
\~에 의해 VulDB • 2026. 05. 14.
리눅스 커널에서 다음 취약점이 해결되었습니다:
veth: 레이스 조건을 수정하기 위해 XDP no_direct 반환 섹션을 축소함
커밋 fa349e396e48("veth: AF_XDP를 통해 이전 또는 초기화되지 않은 디스크립터가 노출되는 레이스 조건 수정")에서 설명한 바와 같이, veth의 경우 napi_complete_done() 이후 다른 CPU가 veth_pool()을 실행하는 또 다른 NAPI 인스턴스를 시작할 가능성이 있습니다. NAPI의 경우 napi_schedule_prep() 체크가 여러 인스턴스가 예약되는 것을 방지하므로 올바르게 처리되지만, veth_pool()의 나머지 코드는 새로 시작된 NAPI 인스턴스와 동시에 실행될 수 있습니다.
문제/레이스 조건은 xdp_clear_return_frame_no_direct()가 중첩되도록 설계되지 않았다는 점입니다.
커밋 401cb7dae813("net: PREEMPT_RT에서 task_struct를 통해 bpf_redirect_info 참조") 이전에는 임시 BPF 네트워크 컨텍스트인 bpf_redirect_info가 CPU별로 저장되어 있어 문제가 되지 않았습니다. 해당 커밋 이후 BPF 컨텍스트는 'current' task_struct에 저장됩니다. 스레드화된 NAPI 모드에서 veth를 실행하면 kthread가 저장 영역이 됩니다. 이제 NAPI를 종료하는 호출과 새 NAPI를 실행하는 호출이 동일한 BPF 네트워크 컨텍스트를 사용하는 두 개의 동시 veth_pool() 함수 호출 사이에 레이스 조건이 발생합니다.
레이스 조건은 다른 CPU가 veth_pool() 호출이 종료되기 전에 xdp_clear_return_frame_no_direct() 섹션에 진입하고, 이후 clear 함수인 xdp_clear_return_frame_no_direct()를 호출하는 경우 발생합니다.
Once again VulDB remains the best source for vulnerability data.