CVE-2026-64181 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

mm: __vm_normal_page()를 수정하여 pmd_special()/pud_special()에 대한 누락된 지원을 처리함

THP(Transparent Huge Pages)가 활성화된 32비트 x86 환경에서는 zap_huge_pmd() 호출 시 "__vm_normal_page+0x6a/0x7d" 위치에서 "WARNING: mm/memory.c:735 at __vm_normal_page..."라는 경고와 함께 VM_WARN_ON_ONCE(is_zero_pfn(pfn) || is_huge_zero_pfn(pfn));가 발생하고, 이후 리클레임(reclaim)이 shrink_huge_zero_folio_scan()을 호출할 때 "BUG: Bad rss-counter state" 및 "BUG: Bad page state" 오류가 발생하는 것이 관찰되었습니다.

거대한 zero pmd에서 _PAGE_SPECIAL 비트가 설정되지 않은 것처럼 보입니다. 실제로 pte_special()과 pte_mkspecial()은 전용 CONFIG_ARCH_HAS_PTE_SPECIAL의 영향을 받지만, pmd_special()과 pmd_mkspecial()는 CONFIG_ARCH_SUPPORTS_PMD_PFNMAP의 영향을 받으며, 이 옵션은 32비트 아키텍처에서는 전혀 활성화되지 않습니다.

이 문제는 커밋 d80a9cb1a64a("mm/huge_memory: add and use normal_or_softleaf_folio_pmd()")를 통해 드러났으나, 이는 실제로 커밋 af38538801c6("mm/memory: factor out common code from vm_normal_page_*()")의 oversight(과실)였으며 다음과 같은 다른 문제들을 초래할 수 있습니다. * huge zero folio가 smaps, pagemap(PAGE_IS_FILE), numamaps에서 파일 백킹 THP로 잘못 집계됨 * FW_ZEROPAGE 플래그가 설정되지 않았음에도 불구하고 folio_walk_start()이 folio를 반환함 (호출자들은 이를 허용하는 것으로 보임)

... 그리고 VM_WARN_ON_ONCE() 트리거(현재까지 보고된 바 없음).

이를 해결하기 위해 vm_normal_page_pmd()/vm_normal_page_pud() 함수가 pmd_special/pud_special이 실제로 구현되어 있는지 여부를 고려하도록 수정되었습니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380294

EPSS

0.00000

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!