🇰🇷 한글 설명
Linux 커널의 AMD IOMMU 구성 요소에서 PPR(Page Poisoning Report) 오류 처리 시 PCI 장치의 참조 횟수(reference count)를 적절히 감소시키지 않아 발생하는 메모리 누수 취약점입니다. iommu_call_iopf_notifier() 함수가 PCI 장치를 참조한 후 이를 해제하지 않아, 오류가 발생할 때마다 PCI 장치 참조가 누수됩니다.
💡 쉬운 설명
컴퓨터의 하드웨어 오류를 처리하는 과정에서 시스템이 사용 중인 장치 정보를 제대로 정리하지 못해 메모리 자원이 계속 낭비되는 문제입니다. 이 문제가 반복되면 시스템의 자원이 고갈되어 성능 저하나 불안정함을 초래할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/amd: Put PCI device after handling PPR faults
iommu_call_iopf_notifier() looks up the requester with
pci_get_domain_bus_and_slot(), which returns a PCI device with its
reference count incremented.
Neither the successful iommu_report_device_fault() path nor the abort
path drops that reference, so every handled PPR request leaks a PCI
device reference.
This is the same ownership rule that was fixed for the old iommu_v2
ppr_notifier() path by commit 6cf0981c2233 ("iommu/amd: Fix pci device
refcount leak in ppr_notifier()"), but iommu_call_iopf_notifier() was
added later as a separate PPR/IOPF notifier path.
Drop the PCI device reference after handling the PPR entry.
📍 영향받는 시스템
AMD IOMMU를 사용하는 Linux 커널 (특정 패치 적용 전 버전)
⚔️ 공격 벡터
직접적인 공격보다는 시스템 운영 중 발생하는 하드웨어 오류(PPR)를 통해 자원 누수를 유발하는 방식
🛡️ 대응 방법
해당 취약점이 해결된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인