🇰🇷 한글 설명
Linux 커널의 x86 아키텍처에서 PMD(Page Middle Directory) 항목을 삭제할 때 TLB(Translation Lookaside Buffer)를 적절히 비우지 못하는 취약점이 발견되었습니다. 이로 인해 페이지 테이블 삭제 시 메모리 주소 변환 정보가 캐시에 남아 있어 일관성 문제가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 메모리 주소를 빠르게 찾기 위해 사용하는 임시 저장소(TLB)가 실제 메모리 정보가 바뀌었음에도 옛날 정보를 그대로 가지고 있는 문제입니다. 이로 인해 시스템이 잘못된 메모리 위치를 참조하거나 보안상 허점이 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs
On the following path, flush_tlb_range() can be used for zapping normal
PMD entries (PMD entries that point to page tables) together with the PTE
entries in the pointed-to page table:
collapse_pte_mapped_thp
pmdp_collapse_flush
flush_tlb_range
The arm64 version of flush_tlb_range() has a comment describing that it can
be used for page table removal, and does not use any last-level
invalidation optimizations. Fix the X86 version by making it behave the
same way.
Currently, X86 only uses this information for the following two purposes,
which I think means the issue doesn't have much impact:
- In native_flush_tlb_multi() for checking if lazy TLB CPUs need to be
IPI'd to avoid issues with speculative page table walks.
- In Hyper-V TLB paravirtualization, again for lazy TLB stuff.
The patch "x86/mm: only invalidate final translations with INVLPGB" which
is currently under review (see
<https://lore.kernel.org/all/
[email protected]/>)
would probably be making the impact of this a lot worse.
📍 영향받는 시스템
x86 아키텍처를 사용하는 Linux 커널 (특정 패치 적용 전 버전)
⚔️ 공격 벡터
메모리 관리 로직의 허점을 이용한 페이지 테이블 조작 및 메모리 일관성 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인하십시오.