🇰🇷 한글 설명
Linux 커널의 xilinx-xadc 드라이버에서 장치 해제 시 인터럽트(IRQ)가 작업 큐 취소보다 먼저 해제되는 취약점이 발견되었습니다. 이로 인해 인터럽트 핸들러가 이미 해제된 구조체에 대해 작업을 다시 예약하여 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
장치를 끌 때 정리 작업 순서가 잘못되어, 이미 사라진 부품을 다시 사용하려다 시스템이 충돌할 수 있는 문제입니다. 이를 방지하기 위해 정리 순서를 올바르게 수정했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind
The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via
schedule_delayed_work(); that work is cleared by a devm callback.
Register the devm callback before devm_request_irq() so the devres LIFO
teardown frees the IRQ first, ensuring the handler can no longer queue
work by the time the workqueue is cleared. Otherwise the handler could
re-arm the work and run it after the xadc structure has been freed.
This issue was found by an in-house static analysis tool.
📍 영향받는 시스템
Xilinx ZYNQ 플랫폼을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 장치 드라이버의 언바인드(unbind) 과정을 유도하여 커널 메모리 오류를 발생시킬 수 있음
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.