🇰🇷 한글 설명
리눅스 커널의 octeon 드라이버에서 cvm_oct_tx_shutdown 함수 호출 시 tasklet_kill이 누락되어 발생하는 Use-After-Free 취약점입니다. 장치가 제거되어 net_device 구조체가 해제된 후에도 대기 중인 tasklet이 실행되어 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 제거하는 과정에서 아직 실행 중인 작업이 남아 있어, 이미 사라진 메모리 영역을 건드리려다 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: octeon: add missing tasklet_kill in cvm_oct_tx_shutdown
The TX cleanup tasklet can be scheduled by the watchdog IRQ handler
to execute cvm_oct_tx_do_cleanup. There can be a pending tasklet in
the queue which might run after the cvm_oct_remove() frees net_device
structures, causing a use-after-free in cvm_oct_tx_do_cleanup() as it
iterates cvm_oct_device[] which is an array of netdevice pointers.
Add tasklet_kill() after free_irq() to ensure the tasklet is no longer
scheduled or running before teardown proceeds.
📍 영향받는 시스템
Linux kernel (staging: octeon driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 장치 드라이버의 종료 과정을 유도하여 메모리 오류를 발생시킬 수 있음
🛡️ 대응 방법
커널 패치를 통해 cvm_oct_tx_shutdown 함수 내 free_irq() 이후 tasklet_kill()을 호출하도록 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 패치가 적용된 최신 버전인지 확인