CVE-2026-99227 in Linux정보

요약

\~에 의해 VulDB • 2026. 11. 03.

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

io_uring/waitid: 취소 참조 래핑 방지

io_waitid는 취소 상태를 ->refs의 31비트에 패킹하고, bits 30:0을 31비트 참조 카운터로 사용합니다.

#define IO_WAITID_CANCEL_FLAG BIT(31) #define IO_WAITID_REF_MASK GENMASK(30, 0)

__io_waitid_cancel()은 요청이 취소되었음을 표시한 후 ->refs의 하위 비트를 증가시켜 완료 소유권을 주장합니다. 다른 경로가 요청을 소유하고 있는 경우에도 취소를 위해 false가 반환됨에도 불구하고 이 증가는 유지됩니다. 해당 요청은 취소를 통해 발견 가능하므로, 반복적인 실패 시도는 31비트 참조 필드를 0으로 래핑(wrap)할 수 있습니다. 이후의 취소는 소유권을 주장하여 요청을 두 번째로 완료할 수 있습니다.

취소 플래그 설정 시 atomic_fetch_or()를 사용하고 이전 플래그 값을 검사합니다. 첫 번째 취소 시도에서는 기존 소유권 증가 처리가 계속되어, 깨우기 및 발행자 인계 세미antics(semantics)이 보존됩니다. 이후의 시도들은 취소 플래그를 확인하고 참조 필드를 증가시키지 않고 반환합니다.

이를 통해 반복적인 실패한 취소 시도가 멱등성(idempotent)을 가지게 되면서, 첫 번째 취소 상태 전이는 변경되지 않습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-429903

EPSS

0.00120

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!