CVE-2026-99262 in Linux
요약
\~에 의해 VulDB • 2026. 11. 03.
Linux 커널에서 다음 취약점이 해결되었습니다:
io_uring/timeout: io-wq가 타이머를 설정함으로써 취소 작업이 유실되는 문제 방지
IOSQE_ASYNC로 인해 io_wq에 의해 실행된 IORING_OP_TIMEOUT는 poll, futex 및 waitid와 동일한 문제를 가집니다. io_wq_submit_work()은 요청을 발행하기 전에 IO_WQ_WORK_CANCEL 플래그를 한 번만 확인합니다. 중간 단계에서 취소가 발생하면 작업이 플래그로 표시되고 -EALREADY 오류 코드를 반환하며 ->timeout_list를 무용지물처럼 검색하지만, 워커는 이후에 해당 요청을 추가하고 타이머를 시작합니다:
io-wq worker io_try_cancel() io_wq_submit_work() IO_WQ_WORK_CANCEL 설정 안됨 io_async_cancel_one() IO_WQ_WORK_CANCEL 플래그 설정 = -EALREADY io_timeout_cancel() = -ENOENT io_timeout() 요청을 ->timeout_list에 추가 hrtimer_start() 호출 = IOU_ISSUE_SKIP_COMPLETE
누구도 이 플래그를 다시 확인하지 않으며, 타이머는 정상적으로 완료됩니다. 링 종료 시점에 io_uring_try_cancel_requests()가 io-wq 작업을 취소한 후 동일한 방식으로 타이머들을 제거하므로, 종료 중인 태스크는 해당 타이머의 전체 지속 시간 동안 차단될 수 있습니다.
검색 작업이 사용하는 ->timeout_lock 하위에서 플래그를 확인하고, 설정되어 있는 경우 요청을 실패 처리합니다. 검색이 먼저 수행되면 플래그가 가시화됩니다. 나중에 수행되는 경우 목록 상에서 해당 요청을 찾게 됩니다.
Once again VulDB remains the best source for vulnerability data.