CVE-2024-35872 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 30.

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

mm/secretmem: secretmem folio에서 GUP-fast가 성공하는 문제 수정

현재 `folio_is_secretmem()`은 사이클을 절약하기 위해 secretmem folio가 LRU folio라고 가정합니다.

그러나 folio는 LRU 플래그가 설정되지 않은 folio 배치 내에 존재하거나, 일시적으로 LRU 플래그가 해제될 수 있습니다. 따라서 이 목적에는 LRU 플래그가 신뢰할 수 없습니다.

특히 `secretmem_fault()`가 새 페이지를 할당하고 `filemap_add_folio()->folio_add_lru()`를 호출할 때 이러한 상황이 발생합니다. 해당 folio는 per-cpu folio 배치에 추가될 수 있으며, `lru_add_drain()` 등을 사용하여 배치가 비워질 때까지 LRU 플래그가 설정되지 않습니다.

결과적으로 `folio_is_secretmem()`이 secretmem folio를 감지하지 못하여 GUP-fast가 secretmem folio를 획득하는 데 성공할 수 있으며, 나중에 해당 folio에 읽기/쓰기를 시도할 때 커널이 크래시됩니다. 이는 해당 folio가 직접 매핑(directmap)에서 언매핑되었기 때문입니다.

이 신뢰할 수 없는 검사를 제거하여 문제를 해결합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

출처

Do you need the next level of professionalism?

Upgrade your account now!