🔍 CVE-2024-40945

5.5
CVSS Score
MEDIUM
2024-07-12
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 iommu_sva_bind_device() 함수가 오류 포인터(ERR_PTR) 대신 NULL을 반환할 수 있는 취약점입니다. 기존 드라이버(idxd, uacce)는 IS_ERR() 체크만 하므로 커널 NULL 포인터 참조 오류가 발생할 수 있습니다. 다만 실제로는 CONFIG_IOMMU_SVA가 미설정된 경우에만 발생하며, 이 경우 드라이버가 해당 함수를 호출하지 않아 문제가 없습니다.

💡 쉬운 설명

Linux 커널에서 메모리 관리 함수가 잘못된 값을 반환할 수 있어 시스템 충돌 위험이 있습니다. 특정 하드웨어 가속 기능을 사용하는 서버에서만 영향을 받습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: iommu: Return right value in iommu_sva_bind_device() iommu_sva_bind_device() should return either a sva bond handle or an ERR_PTR value in error cases. Existing drivers (idxd and uacce) only check the return value with IS_ERR(). This could potentially lead to a kernel NULL pointer dereference issue if the function returns NULL instead of an error pointer. In reality, this doesn't cause any problems because iommu_sva_bind_device() only returns NULL when the kernel is not configured with CONFIG_IOMMU_SVA. In this case, iommu_dev_enable_feature(dev, IOMMU_DEV_FEAT_SVA) will return an error, and the device drivers won't call iommu_sva_bind_device() at all.

📍 영향받는 시스템

Linux kernel (모든 버전), IOMMU SVA 기능 활성화된 시스템 특히 idxd, uacce 드라이버 사용 환경

⚔️ 공격 벡터

로컬 접근 후 SVA 장치 작업 트리거 또는 커널 모듈 로드 시 호출 (원격 공격 불가)

🛡️ 대응 방법

Linux 커널 업데이트 (IOMMU SVA 반환값 검증 패치 포함된 버전으로)

🔧 검증 코드

커널 버전과 IOMMU SVA 관련 설정 확인. 위 설정들이 y로 활성화되어 있으면 영향받는 구성이고, IOMMU_SVA가 미설정(n 또는 미표기)이면 안전합니다.

Shell / Script
uname -r && grep -E 'CONFIG_IOMMU_SVA|CONFIG_IDXD|CONFIG_UACCE' /boot/config-$(uname -r) 2>/dev/null | head -3

📊 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