🇰🇷 한글 설명
Linux 커널의 iommu/iommufd 구성 요소에서 IOPF 그룹 소유권과 관련된 Use-After-Free(UAF) 취약점이 발견되었습니다. iommufd가 그룹을 처리하는 과정에서 일반 대기 목록에서 제거하지 않아, 장치 분리 시 이미 해제된 메모리 영역에 접근하여 시스템 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품이 메모리를 사용하는 과정에서, 이미 사용이 끝난 메모리 주소를 시스템이 다시 참조하려고 시도할 때 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 보안 문제가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/iommufd: Fix IOPF group ownership UAF
iopf_group_alloc() links each last-page IOPF group into the generic IOPF
pending list before invoking the domain fault handler.
iommufd_fault_iopf_handler() also queued an accepted group in the
IOMMUFD deliver list without removing it from the generic pending list.
When detach or HWPT replacement drops the device's IOPF reference count
to zero, an IOMMU driver may call iopf_queue_remove_device(). That
function responds to and frees groups through the generic pending list
without removing the same groups from IOMMUFD's deliver list or response
xarray. A later read, response, or cleanup can then access the freed
group and cause a UAF.
Fix this by dequeuing an accepted group from the generic pending list
before IOMMUFD queues it for userspace response.
Make iopf_group_response() send a response regardless of pending-list
membership, so the dequeued group can still be completed by IOMMUFD.
📍 영향받는 시스템
Linux kernel (iommu/iommufd 관련 모듈 사용 시스템)
⚔️ 공격 벡터
장치 분리(detach) 또는 하드웨어 페이지 테이블(HWPT) 교체 시 발생하는 메모리 관리 로직의 허점을 이용한 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux