🇰🇷 한글 설명
리눅스 커널의 dax/fsdev에서 정적 pgmap을 바인딩할 때 vmemmap_shift 값이 제대로 초기화되지 않는 취약점이 해결되었습니다. device_dax에서 fsdev_dax로 장치를 다시 바인딩할 때 이전의 잘못된 설정값이 남아 있어, fsdev가 요구하는 order-0 folio 구조로 vmemmap이 생성되지 않을 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리를 관리하는 설정값이 장치를 교체할 때 제대로 지워지지 않고 남아 있는 문제입니다. 이로 인해 메모리 관리 체계가 꼬여 시스템이 예상과 다르게 동작할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dax/fsdev: clear vmemmap_shift when binding static pgmap
Clear pgmap->vmemmap_shift for static DAX devices. When rebinding a static
device from device_dax (which may set vmemmap_shift based on alignment) to
fsdev_dax, the stale vmemmap_shift persists on the shared pgmap. Explicitly
zero it before devm_memremap_pages() so the vmemmap is built for order-0
folios as fsdev requires.
📍 영향받는 시스템
Linux Kernel (dax/fsdev 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 시스템에서 DAX 장치의 바인딩 방식을 변경하여 메모리 관리 구조를 교란하는 방식
🛡️ 대응 방법
vmemmap_shift를 명시적으로 초기화하는 패치가 적용된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인