🇰🇷 한글 설명
리눅스 커널의 mm/hugetlb 구성 요소에서 huge_pmd_unshare() 함수와 GUP-fast 간의 경쟁 상태(Race Condition) 취약점이 발견되었습니다. 이로 인해 페이지 테이블이 공유되는 과정에서 다른 프로세스의 페이지 테이블을 참조하게 될 위험이 있습니다.
💡 쉬운 설명
컴퓨터의 메모리를 관리하는 과정에서 두 작업이 동시에 일어나 충돌이 발생하는 문제입니다. 이로 인해 한 프로그램이 다른 프로그램의 메모리 영역을 잘못 들여다볼 수 있는 불안정한 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
mm/hugetlb: fix huge_pmd_unshare() vs GUP-fast race
huge_pmd_unshare() drops a reference on a page table that may have
previously been shared across processes, potentially turning it into a
normal page table used in another process in which unrelated VMAs can
afterwards be installed.
If this happens in the middle of a concurrent gup_fast(), gup_fast() could
end up walking the page tables of another process. While I don't see any
way in which that immediately leads to kernel memory corruption, it is
really weird and unexpected.
Fix it with an explicit broadcast IPI through tlb_remove_table_sync_one(),
just like we do in khugepaged when removing page tables for a THP
collapse.
📍 영향받는 시스템
Linux Kernel (hugetlb 관련 기능이 활성화된 버전)
⚔️ 공격 벡터
특정 메모리 관리 작업(GUP-fast)을 유도하여 페이지 테이블 참조 오류를 일으키는 경쟁 상태 공격
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인하십시오.