CVE-2026-99016 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 24.

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

riscv: futex - 원자적 접근 전에 사용자 포인터의 태그 제거하기

access_ok()은 untagged_addr(uaddr)를 검사하지만, arch_futex_atomic_op_inuser() 및 futex_atomic_cmpxchg_inatomic()는 raw uaddr을 inline asm amoswap/amoadd/.../lr.w+sc.w에 "+m" (*uaddr) 연산자를 통해 전달합니다. 태그된 주소 ABI가 활성화되어 있는 경우(CONFIG_RISCV_ISA_SUPM, prctl PR_SET_TAGGED_ADDR_CTRL with PMLEN != 0), 이러한 두 주소는 다릅니다: 상위 PMLEN 비트에 태그를 가진 사용자 포인터는 untagging 후 access_ok()을 통과하지만, 원자적 연산은 여전히 태그가 있는 raw 주소에서 수행됩니다.

Supervisor-mode 데이터 접근은 U-mode pointer masking(즉, menvcfg.PMM이 관장하며 커널이 설정하지 않음)의 영향을 받지 않으므로, 하드웨어는 커널 자체의 접근에 대해 태그를 제거하지 않습니다. Sv57 및 PMLEN=16인 경우, 태그 비트가 canonical-address bits와 겹치므로, 태그된 포인터는 untagged 형태가 유효한 사용자 주소인 canonical kernel virtual address(예: linear map 내)를 가리킬 수 있습니다. 따라서 비특권 프로세스는 FUTEX_WAKE_OP을 통해 임의의 커널 주소에 대한 원자적 read-modify-write 연산을 수행할 수 있으며, 일치하는 FUTEX_OP_CMP_* 결과는 읽기 oracle로 작용합니다.

get_user()/put_user()/raw_copy_{to,from}_user()는 이미 access_ok() 검사 후 포인터를 untagging 합니다; futex helper에서도 동일하게 처리하여 원자적 연산이 실제로 검증된 주소에서 수행되도록 합니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425827

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!