🔍 CVE-2025-21724

7.8
CVSS Score
HIGH
2025-02-27
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 iommufd/iova_bitmap 모듈에서 32비트 정수 상수를 63비트 이상으로 시프트할 때 정의되지 않은 동작을 유발하는 취약점. pgshift 값이 31을 초과하면 상수 '1'의 시프트 연산이 오버플로우되어 UBSAN 에러 발생.

💡 쉬운 설명

Linux 커널의 특정 메모리 관리 부분에서 수학 계산 실수로 인한 버그입니다. 이 버그는 시스템이 비정상적으로 동작하게 만들 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: iommufd/iova_bitmap: Fix shift-out-of-bounds in iova_bitmap_offset_to_index() Resolve a UBSAN shift-out-of-bounds issue in iova_bitmap_offset_to_index() where shifting the constant "1" (of type int) by bitmap->mapped.pgshift (an unsigned long value) could result in undefined behavior. The constant "1" defaults to a 32-bit "int", and when "pgshift" exceeds 31 (e.g., pgshift = 63) the shift operation overflows, as the result cannot be represented in a 32-bit type. To resolve this, the constant is updated to "1UL", promoting it to an unsigned long type to match the operand's type.

📍 영향받는 시스템

Linux kernel iommufd 모듈을 사용하는 모든 버전 (일반적으로 5.10 이상)

⚔️ 공격 벡터

로컬 악용 가능 - IOMMU 장치와 상호작용 가능한 권한 있는 프로세스 필요

🛡️ 대응 방법

Linux 커널 패치 적용 (iova_bitmap_offset_to_index()에서 상수 '1'을 '1UL'로 변경)

🔧 검증 코드

커널 버전 확인 후 IOMMUFD 설정 여부 확인. 설정되어 있으면 해당 커널 버전의 최신 보안 패치로 업그레이드 필요.

Shell / Script
uname -r && cat /proc/config.gz 2>/dev/null | zcat | grep CONFIG_IOMMUFD

📊 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