🇰🇷 한글 설명
Linux kernel의 Renesas USBHS 드라이버에서 device removal 중 아직 등록된 interrupt handler가 해제된 리소스(pipe array)에 접근하는 use-after-free 취약점입니다. devm_free_irq()를 usbhs_pipe_remove() 전에 호출하여 interrupt handler를 완전히 비활성화하고 동기화한 후 리소스를 해제함으로써 수정됩니다.
💡 쉬운 설명
USB 기기를 분리할 때 아직 활성화된 인터럽트(기기로부터의 신호)가 이미 삭제된 메모리에 접근하려는 문제입니다. 먼저 인터럽트를 완전히 끈 다음에 메모리를 정리하는 순서로 변경하여 해결합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: renesas_usbhs: fix use-after-free in ISR during device removal
In usbhs_remove(), the driver frees resources (including the pipe array)
while the interrupt handler (usbhs_interrupt) is still registered. If an
interrupt fires after usbhs_pipe_remove() but before the driver is fully
unbound, the ISR may access freed memory, causing a use-after-free.
Fix this by calling devm_free_irq() before freeing resources. This ensures
the interrupt handler is both disabled and synchronized (waits for any
running ISR to complete) before usbhs_pipe_remove() is called.
📍 영향받는 시스템
Linux kernel (Renesas USBHS 드라이버 탑재 시스템) - usb_renesas_usbhs.ko 드라이버 사용 기기
⚔️ 공격 벡터
USB 기기 제거 시 비동기 interrupt 발생으로 인한 메모리 참조 - 로컬 권한 필요
🛡️ 대응 방법
Linux kernel을 CVE-2026-43426 패치가 적용된 버전으로 업데이트
🔧 검증 코드
Renesas USBHS 드라이버가 로드되어 있으면 현재 커널 버전과 공식 CVE 패치 릴리스 노트를 비교하여 패치 적용 여부 확인
lsmod | grep -i renesas && grep -r 'devm_free_irq' /lib/modules/$(uname -r)/kernel/drivers/usb/ 2>/dev/null | grep -i renesas || echo 'Check kernel version with: uname -r'