🇰🇷 한글 설명
리눅스 커널의 userfaultfd 메커니즘에서 UFFDIO_MOVE 작업 실패 시 huge-page 처리 과정 중 src_folio가 예기치 않게 변경되는 취약점입니다. 이로 인해 스왑아웃 및 마이그레이션 실패가 발생하거나 메모리 오염이 발생할 수 있습니다.
💡 쉬운 설명
메모리를 관리하는 과정에서 데이터의 위치 정보가 잘못 업데이트되어 시스템이 불안정해지거나 데이터가 깨질 수 있는 문제입니다. 특히 큰 용량의 메모리(huge-page)를 다룰 때 이 문제가 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE
Commit d7a08838ab74 ("mm: userfaultfd: fix unexpected change to src_folio
when UFFDIO_MOVE fails") moved the src_folio->{mapping, index} changing to
after clearing the page-table and ensuring that it's not pinned. This
avoids failure of swapout+migration and possibly memory corruption.
However, the commit missed fixing it in the huge-page case.
📍 영향받는 시스템
Linux kernel (huge-page 관련 userfaultfd 기능을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 userfaultfd를 통해 메모리 이동(UFFDIO_MOVE)을 유도하여 메모리 오염 유발
🛡️ 대응 방법
커널 패치(commit d7a08838ab74 이후 버전 또는 관련 수정사항이 반영된 최신 커널) 적용
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.