🇰🇷 한글 설명
Linux 커널의 nxp-pit 클록소스 드라이버에서 cpuhp_setup_state 오류 발생 시 IRQ를 해제하지 않는 결함이 발견되었습니다. 이로 인해 IRQ 라인이 누수되고 해제된 메모리를 가리키는 댕글링 포인터가 남게 되어, 이후 인터럽트 발생 시 Use-After-Free 취약점이 발생할 수 있습니다.
💡 쉬운 설명
시스템 설정 중 오류가 발생했을 때 사용하던 자원을 제대로 정리하지 못하는 문제입니다. 이로 인해 시스템이 이미 삭제된 메모리 영역에 접근하려고 시도하여 보안 문제가 생기거나 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
clocksource/drivers/nxp-pit: Fix IRQ leak on cpuhp_setup_state error path
When cpuhp_setup_state fails after pit_clockevent_per_cpu_init has
successfully called request_irq, the error handling jumps directly to
out_pit_clocksource_unregister without freeing the registered IRQ.
This leaks the IRQ line and, since kfree(pit) follows, leaves a
dangling pointer registered as the interrupt handler's dev_id,
potentially leading to a use-after-free if the IRQ fires afterwards.
Fix it by calling pit_clockevent_per_cpu_exit to properly release the
IRQ before falling through to the existing cleanup chain.
📍 영향받는 시스템
Linux kernel (nxp-pit driver 포함 버전)
⚔️ 공격 벡터
특정 오류 경로를 유도하여 IRQ 누수 및 Use-After-Free를 유발하는 로컬 공격
🛡️ 대응 방법
pit_clockevent_per_cpu_exit를 호출하여 IRQ를 적절히 해제하도록 수정된 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인