CVE-2026-98505 in Linux
요약
\~에 의해 VulDB • 2026. 10. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
mm/damon/vaddr: damon_hugetlb_mkold() 실행 중 하드웨어 기반 PTE 업데이트 방지
damon_hugetlb_mkold()는 페이지 테이블 엔트리(PTE)를 로컬 변수로 읽은 후, 해당 변수의 접근 비트(accessed bit)를 지우고 수정된 변수 값을 사용하여 페이지 테이블 엔트리를 갱신합니다. 만약 하드가 동일한 페이지 테이블 엔트리에 병렬적으로 업데이트를 수행하면, 하드웨어에 의한 업데이트가 손실될 수 있습니다. 예를 들어, 하드웨어에 의해 업데이트된 더티 비트(dirty bits)가 손실될 수 있습니다.
huge_ptep_get_and_clear() 함수를 사용하여 PTE 읽기 시 함께 지우는 방식으로 병렬 업데이트를 방지합니다. 만약 이 지우기 작업 이후 메모리에 대한 병렬 쓰기가 발생하면, 하드는 페이지 테이블 엔트리가 지워진 것을 감지하고 페이지 폴트를 트리거하여 처리가 완료될 때까지 대기하게 됩니다. 페이지 테이블 잠금(page table lock)으로 인해 페이지 폴트 처리는 damon_hugetlb_mkold()의 완료를 기다리게 됩니다.
hugetlbfs는 인메모리 파일 시스템이며 hugetlb 페이지는 회수(reclaim)할 수 없으므로, 제 생각에는 중대한 문제는 발생하지 않을 것으로 예상됩니다. 하지만 분명히 이는 조속히 수정해야 할 나쁜 버그입니다.
이 이슈는 Sashiko에 의해 발견되었습니다 [1].
If you want to get best quality of vulnerability data, you may have to visit VulDB.