🔍 CVE-2026-90391

0.0
CVSS Score
UNKNOWN
2026-09-17
2026-10-19 09:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 lib/test_hmm 모듈에서 미러링된 메모리 관리(mm)가 이미 종료된 경우 dmirror_fault() 함수가 잘못된 성공 상태(0)를 반환하는 취약점이 발견되었습니다. 이로 인해 호출자가 페이지 결함 처리에 실패했음에도 성공한 것으로 오인하여 동일한 주소를 무한 루프하며 재시도하는 문제가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 메모리 복사 기능이 작동하던 중, 복사 대상이 사라졌음에도 불구하고 시스템이 이를 제대로 인지하지 못해 무한 반복 작업에 빠지는 오류입니다. 이로 인해 시스템이 멈추거나 응답하지 않는 현상이 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: lib/test_hmm: fail dmirror_fault() when the mirrored mm is gone dmirror_fault() is called from the dmirror_read() and dmirror_write() retry loops after dmirror_do_read() or dmirror_do_write() finds a missing device page table entry. If the mirrored mm has already exited, mmget_not_zero() fails. The current code returns 0 in that case, which tells the caller that faulting succeeded even though no page was faulted and no device page table entry was installed. The caller then retries the same address, hits -ENOENT again, and can loop forever without making progress. Return -EFAULT instead, so the ioctl fails when the mirrored mm is no longer faultable.

📍 영향받는 시스템

Linux Kernel (lib/test_hmm 모듈을 사용하는 환경)

⚔️ 공격 벡터

로컬 공격자가 특정 ioctl 호출을 통해 미러링된 메모리 관리 구조를 해제하여 무한 루프를 유도할 수 있음

🛡️ 대응 방법

커널 패치를 적용하여 dmirror_fault()가 실패 시 0 대신 -EFAULT를 반환하도록 업데이트해야 함

🔧 검증 코드

해당 모듈 내에 dmirror_fault 함수가 존재하는지 확인하고, 커널 소스 레벨에서 반환값이 -EFAULT로 수정되었는지 검토해야 합니다.

Shell / Script
grep -r "dmirror_fault" /lib/modules/$(uname -r)/kernel/lib/test_hmm.ko || echo "Module not found"

💻 영향받는 소프트웨어

Linux Kernel