🔍 CVE-2025-38447

7.8
CVSS Score
HIGH
2025-07-25
2026-07-30 06:23
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 mm/rmap 구성 요소에서 배치 언맵(batched unmap) 과정 중 페이지 테이블의 범위를 벗어난 접근이 발생할 수 있는 취약점이 발견되었습니다. 이는 대규모 폴리오(folio)의 PTE 매핑이 단일 페이지 테이블에 완전히 포함되지 않을 때 발생하며, 이를 해결하기 위해 VMA 및 PMD 경계를 고려하여 안전한 배치 크기를 계산하도록 로직이 수정되었습니다.

💡 쉬운 설명

컴퓨터 메모리를 정리하는 과정에서 정해진 범위를 넘어서 잘못된 메모리 영역을 읽을 수 있는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있어 메모리 관리 방식을 더 꼼꼼하게 수정했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/rmap: fix potential out-of-bounds page table access during batched unmap As pointed out by David[1], the batched unmap logic in try_to_unmap_one() may read past the end of a PTE table when a large folio's PTE mappings are not fully contained within a single page table. While this scenario might be rare, an issue triggerable from userspace must be fixed regardless of its likelihood. This patch fixes the out-of-bounds access by refactoring the logic into a new helper, folio_unmap_pte_batch(). The new helper correctly calculates the safe batch size by capping the scan at both the VMA and PMD boundaries. To simplify the code, it also supports partial batching (i.e., any number of pages from 1 up to the calculated safe maximum), as there is no strong reason to special-case for fully mapped folios.

📍 영향받는 시스템

Linux Kernel (배치 언맵 로직을 사용하는 버전)

⚔️ 공격 벡터

사용자 공간(Userspace)에서 특정 메모리 조작을 통해 트리거 가능

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel