CVE-2024-42233 in Linux
요약
\~에 의해 VulDB • 2026. 07. 10.
리눅스 커널에서 다음 취약점이 해결되었습니다:
filemap: pte_offset_map()를 pte_offset_map_nolock()로 교체
filemap_fault_recheck_pte_none() 함수 내의 vmf->ptl은 여전히 handle_pte_fault()로부터 설정된 상태입니다. 그러나 동시에 우리는 pte_unmap(vmf->pte)를 수행했습니다. pte_unmap(vmf->pte)에 의한 언매핑 및 rcu_read_unlock() 이후, 페이지 테이블이 Race Condition 상태로 변경될 수 있으며, 이로 인해 vmf->ptl이 실제 페이지 테이블을 보호하지 못할 가능성이 있습니다. 이를 해결하기 위해 pte_offset_map() 대신 pte_offset_map_nolock()로 교체합니다.
데이비드가 언급한 바와 같이 PTL 포인터가 stale 상태일 수 있으므로, 만약 우리가 filemap_fault_recheck_pte_none()에서 이 포인터를 계속 사용하면 Use-After-Free(UAF)가 발생할 수 있습니다. 또한 PTL이 실패할 경우, 커밋 58f327f2ce80("filemap: avoid unnecessary major faults in filemap_fault()")으로 수정되었던 문제가 다시 나타날 수도 있습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.