🇰🇷 한글 설명
Linux 커널의 arm-smmu-v3 드라이버에서 장치 제거 시 자원 해제 순서가 잘못되어 발생하는 취약점입니다. IOPF 큐가 이벤트 큐 인터럽트 핸들러보다 먼저 해제되어 잘못된 메모리 참조를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 제거할 때 정리 순서가 뒤섞여서, 이미 없어진 부품을 사용하려고 시도하다가 오류가 발생하는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/arm-smmu-v3: Manage teardown with devm
arm_smmu_device_remove() manually frees the IOPF queue, destroys the
vmid_map and disables the device, while the IRQs and queues are devm
managed. devm unwinds only after remove() returns, so the cleanup runs
in the wrong order. The IOPF queue is freed before the event-queue IRQ
whose handler uses it.
Manage all of it with devm so the unwind order is correct. Free the IOPF
queue and vmid_map via devm actions, and disable the device from one
registered after arm_smmu_device_reset().
This is also a prerequisite for fixing a Tegra241 CMDQV CMD_SYNC
use-after-free in the subsequent patch.
📍 영향받는 시스템
Linux kernel (arm-smmu-v3 드라이버를 사용하는 ARM 기반 시스템)
⚔️ 공격 벡터
로컬 공격자가 장치 제거 프로세스를 유도하여 Use-After-Free 취약점을 악용할 수 있음
🛡️ 대응 방법
커널 패치를 적용하여 devm 관리 방식을 통해 자원 해제 순서를 올바르게 수정해야 함
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 최신 버전인지 확인하십시오.