CVE-2026-99225 in Linux정보

요약

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

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

keys: 키링 검색 시 인증 페이로드 확인

인증 페이로드는 요청자의 keyring을 search_process_keyrings_rcu()가 탐색하는 동안 유효한 상태로 유지되어야 합니다. 해당 함수는 인증 키를 검증한 후 payload.data[0]를 별도로 로드하고 rka->cred를 무조건적으로 읽습니다. 그러나 이 검증 과정은 request_key_auth_revoke()가 페이로드를 지우는 것을 방지하지 못합니다.

request-key 헬퍼는 권한을 가정하여 인증 키를 상속받는 하위 프로세스(fork)를 생성할 수 있습니다. 만약 해당 하위 프로세스가 자신의 keyring에서 찾지 못하면, 저장된 요청자 자격 증명(saved requestor credentials)으로 폴백됩니다. 성공적인 대상 인스턴스화는 인증 키를 무효화하지만 페이로드는 지우지 않습니다. 헬퍼가 종료되면 UMH_WAIT_PROC은 요청자에게 반환되며, 이는 complete_request_key()를 호출하여 해당 키를 revocation(무효화/취소)합니다.

하위 프로세스가 검증 후 일시 중단된 상태에서 경로들이 다음과 같이 교차할 수 있습니다:

1. 하위 프로세스는 RCU 컨텍스트에서 search_process_keyrings_rcu()에 진입하고 key_validate()가 성공합니다. 2. 헬퍼가 대상을 인스턴스화하여 인증 키를 무효화한 후 종료됩니다. 3. 요청자가 UMH_WAIT_PROC으로부터 재개되어 complete_request_key()를 호출하고 인증 키를 revocation합니다. request_key_auth_revoke()는 해당 페이로드 포인터를 NULL로 설정합니다. 4. 하위 프로세스가 NULL을 로드하여 rka->cred의 역참조(dereference)를 시도합니다.

이러한 NULL dereference는 커널 oops(오작동/크래시)를 유발할 수 있습니다. RCU는 페이로드의 폐기를 지연시키지만 포인터가 지워지는 것을 방지하지는 않습니다.

payload를 dereference_key_rcu()로 로드하고, 인증 키 검증 및 저장된 자격 증명 탐색 전에 비-NULL(non-NULL) 결과가 반환되도록 요구합니다. 비-NULL인 payload와 해당 자격 증명은 호출자의 RCU 읽기 섹션 동안 유효하게 유지되며, 지워진(payload가 NULL인) 경우 폴백 검색을 건너뛰고 기존 오류 처리 경로로 진행됩니다.

KASAN 보고서는 다음과 같습니다:

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
RIP: 0010:search_process_keyrings_rcu+0x32b/0x790

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-429920

EPSS

0.00000

활동

낮음

출처

Do you need the next level of professionalism?

Upgrade your account now!