🇰🇷 한글 설명
Linux 커널의 IOMMU 구현 중 pci_dev_reset_iommu_done() 함수에서 NULL 포인터 역참조가 발생하는 취약점입니다. 기본 도메인 할당 실패 시 group->domain이 NULL일 수 있어, 이를 참조할 경우 시스템 크래시가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 하드웨어 장치를 관리하는 프로그램에서 잘못된 메모리 주소를 참조하여 시스템이 갑자기 멈추거나 꺼질 수 있는 오류입니다. 특정 상황에서 장치를 초기화할 때 발생하는 소프트웨어 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu: Fix NULL group->domain dereference in pci_dev_reset_iommu_done()
Local sashiko review pointed it out that group->domain could be NULL when
a default domain fails to allocate during the first probe, which can crash
at domain->ops->attach_dev dereference in __iommu_attach_device() invoked
by pci_dev_reset_iommu_done().
pci_dev_reset_iommu_prepare() is fine as an old_domain pointer can be NULL.
Skip the re-attach in pci_dev_reset_iommu_done() to fix the bug.
📍 영향받는 시스템
IOMMU를 사용하는 Linux 커널 버전 (패치 적용 전)
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 특정 하드웨어 장치 초기화 과정을 유도하여 시스템 크래시(DoS) 유발
🛡️ 대응 방법
IOMMU 관련 NULL 포인터 체크 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전인지 확인