🔍 CVE-2026-64289

5.5
CVSS Score
MEDIUM
2026-07-25
2026-08-17 05:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 iommufd 구성 요소에서 사용자 제어 변수인 entry_num과 entry_len의 상한선이 설정되지 않아 발생하는 취약점입니다. 공격자가 매우 큰 값을 입력할 경우 커널이 비선점 상태로 과도한 루프를 수행하게 되어 소프트 락업(soft-lockup)을 유발하고 시스템을 중단시킬 수 있습니다.

💡 쉬운 설명

사용자가 커널에 너무 큰 숫자를 전달하여 컴퓨터가 무한 루프에 빠지게 만드는 버그입니다. 이로 인해 시스템이 멈추거나 응답하지 않는 상태가 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: iommufd: Set upper bounds on cache invalidation entry_num and entry_len iommufd_hwpt_invalidate() takes a user-controlled entry_num and entry_len, each bounded only by U32_MAX. An entry_len beyond the kernel's struct size makes the copy helper verify the extra bytes are zero, scanning that excess in one uninterruptible pass; a multi-gigabyte value over zeroed user memory trips the soft-lockup watchdog. A large entry_num is the other half, driving the backend invalidation loop with no reschedule. The VT-d nested handler, for one, copies each entry and flushes caches per iteration, pinning the CPU on a non-preemptible kernel. Cap both in the ioctl. entry_len is held under PAGE_SIZE, above any request struct, and entry_num under 1 << 19, the order of a hardware invalidation queue and well beyond any real batch, bounding the per-call loop length.

📍 영향받는 시스템

Linux kernel (iommufd 관련 모듈 사용 시스템)

⚔️ 공격 벡터

로컬 사용자가 조작된 ioctl 호출을 통해 매우 큰 entry_num 또는 entry_len 값을 전달

🛡️ 대응 방법

iommufd의 ioctl 호출 시 entry_len은 PAGE_SIZE 미만으로, entry_num은 1 << 19 미만으로 제한하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.

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