🔍 CVE-2026-46013

5.5
CVSS Score
MEDIUM
2026-05-27
2026-06-16 15:24
✅ 완료

🇰🇷 한글 설명

Linux 커널의 memfd_luo 모듈 내 put_folios 정리 과정에서 물리 주소 변환 오류가 발견되었습니다. PFN(Page Frame Number)을 물리 주소로 올바르게 변환하지 않고 사용하며, 데이터가 없는 영역(hole)에 대한 유효성 검사가 누락되어 잘못된 메모리 주소를 참조할 수 있습니다.

💡 쉬운 설명

컴퓨터 메모리의 주소를 계산할 때 잘못된 숫자를 사용하여 엉뚱한 메모리 위치를 확인하는 오류입니다. 이로 인해 데이터가 비어 있는 공간을 실제 데이터가 있는 곳으로 착각하여 시스템 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/memfd_luo: fix physical address conversion in put_folios cleanup In memfd_luo_retrieve_folios()'s put_folios cleanup path: 1. kho_restore_folio() expects a phys_addr_t (physical address) but receives a raw PFN (pfolio->pfn). This causes kho_restore_page() to check the wrong physical address (pfn << PAGE_SHIFT instead of the actual physical address). 2. This loop lacks the !pfolio->pfn check that exists in the main retrieval loop and memfd_luo_discard_folios(), which could incorrectly process sparse file holes where pfn=0. Fix by converting PFN to physical address with PFN_PHYS() and adding the !pfolio->pfn check, matching the pattern used elsewhere in this file. This issue was identified by the AI review. https://sashiko.dev/#/patchset/[email protected]

📍 영향받는 시스템

Linux Kernel (memfd_luo 모듈을 사용하는 버전)

⚔️ 공격 벡터

메모리 관리 로직의 취약점을 이용한 잘못된 물리 주소 참조 및 메모리 무결성 훼손

🛡️ 대응 방법

PFN을 물리 주소로 변환하는 PFN_PHYS() 함수를 적용하고, pfn이 0인 경우에 대한 유효성 검사 로직을 추가한 최신 커널로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.

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