🔍 CVE-2025-37958

5.5
CVSS Score
MEDIUM
2025-05-20
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널에서 THP(Transparent Huge Page) 마이그레이션 중 deferred split 스캔이 PMD 마이그레이션 엔트리에 동시 접근하면 잘못된 주소를 참조하여 커널 페이지 폴트가 발생할 수 있습니다. 이 문제는 PMD 마이그레이션 엔트리를 확인하고 조기에 반환하도록 수정되었습니다.

💡 쉬운 설명

리눅스 커널이 큰 메모리 페이지를 옮기는 도중 잘못된 주소를 읽어 시스템이 멈추거나 오류를 낼 수 있는 문제입니다. 커널을 최신 보안 업데이트로 올리면 해결됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: fix dereferencing invalid pmd migration entry When migrating a THP, concurrent access to the PMD migration entry during a deferred split scan can lead to an invalid address access, as illustrated below. To prevent this invalid access, it is necessary to check the PMD migration entry and return early. In this context, there is no need to use pmd_to_swp_entry and pfn_swap_entry_to_page to verify the equality of the target folio. Since the PMD migration entry is locked, it cannot be served as the target. Mailing list discussion and explanation from Hugh Dickins: "An anon_vma lookup points to a location which may contain the folio of interest, but might instead contain another folio: and weeding out those other folios is precisely what the "folio != pmd_folio((*pmd)" check (and the "risk of replacing the wrong folio" comment a few lines above it) is for." BUG: unable to handle page fault for address: ffffea60001db008 CPU: 0 UID: 0 PID: 2199114 Comm: tee Not tainted 6.14.0+ #4 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:split_huge_pmd_locked+0x3b5/0x2b60 Call Trace: <TASK> try_to_migrate_one+0x28c/0x3730 rmap_walk_anon+0x4f6/0x770 unmap_folio+0x196/0x1f0 split_huge_page_to_list_to_order+0x9f6/0x1560 deferred_split_scan+0xac5/0x12a0 shrinker_debugfs_scan_write+0x376/0x470 full_proxy_write+0x15c/0x220 vfs_write+0x2fc/0xcb0 ksys_write+0x146/0x250 do_syscall_64+0x6a/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e The bug is found by syzkaller on an internal kernel, then confirmed on upstream.

📍 영향받는 시스템

수정 이전의 Linux 커널 (THP 및 deferred split 기능을 사용하는 시스템, 업스트림 6.14 계열 포함)

⚔️ 공격 벡터

로컬 사용자가 shrinker debugfs 등을 통해 deferred split 스캔을 유발하여 커널 충돌(서비스 거부)을 일으킬 수 있음

🛡️ 대응 방법

배포판 공급사가 제공하는 최신 Linux 커널 보안 업데이트를 설치하고 재부팅

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지에서 CVE-2025-37958 수정 포함 여부로 확인하며, 해당 수정이 포함된 패치 버전 이상이면 안전합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel