🇰🇷 한글 설명
Linux 커널의 Altera PCI 드라이버에서 프로브(probe) 실패 시 자원 누수가 발생하는 취약점입니다. 프로브 실패 시 인터럽트 핸들러와 INTx IRQ 도메인이 적절히 제거되지 않아, 해제된 메모리 주소를 참조하는 스테일 데이터 포인터 문제가 발생할 수 있습니다.
💡 쉬운 설명
장치를 연결할 때 오류가 나면 시스템이 사용하던 자원을 제대로 정리하지 못하는 문제입니다. 이로 인해 시스템이 잘못된 메모리 주소를 참조하여 불안정해지거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
PCI: altera: Fix resource leaks on probe failure
The chained IRQ handler is set during probe, but is only removed during the
driver remove(). If pci_host_probe() fails, the handler and INTx IRQ
domain remain set even though the devm-managed host bridge storage
containing struct altera_pcie will be released, leaving the handler with
a stale data pointer.
Interrupts are also enabled before pci_host_probe() is called. If probe
fails after that point, the controller interrupt source should be disabled
before the chained handler and INTx domain are removed.
So set the chained handler only after the INTx domain has been created.
Disable controller interrupts during IRQ teardown, and tear the IRQ setup
down if pci_host_probe() fails.
[mani: commit log]
📍 영향받는 시스템
Altera PCI 컨트롤러를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
직접적인 외부 공격보다는 드라이버 초기화 실패를 유도하여 시스템 불안정성을 초래하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인