🇰🇷 한글 설명
Linux 커널의 rcar-host PCI 드라이버에서 MSI 부모 IRQ 도메인이 NULL로 설정되어 발생하는 취약점입니다. 이로 인해 generic_handle_domain_irq() 함수 호출 시 커널 NULL 포인터 역참조 오류가 발생하여 시스템이 충돌할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품이 신호를 보낼 때 사용하는 통로 설정에 오류가 있어, 잘못된 주소를 참조하다가 시스템이 멈추거나 꺼질 수 있는 문제입니다. 하드웨어 신호를 처리하는 과정에서 발생하는 소프트웨어적 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
PCI: rcar-host: Pass proper IRQ domain to generic_handle_domain_irq()
Starting with commit dd26c1a23fd5 ("PCI: rcar-host: Switch to
msi_create_parent_irq_domain()"), the MSI parent IRQ domain is NULL because
the object of type struct irq_domain_info passed to:
msi_create_parent_irq_domain() ->
irq_domain_instantiate()() ->
__irq_domain_instantiate()
has no reference to the parent IRQ domain. Using msi->domain->parent as an
argument for generic_handle_domain_irq() leads to below error:
"Unable to handle kernel NULL pointer dereference at virtual address"
This error was identified while switching the upcoming RZ/G3S PCIe host
controller driver to msi_create_parent_irq_domain() (which was using a
similar pattern to handle MSIs (see link section)), but it was not tested
on hardware using the pcie-rcar-host controller driver due to lack of
hardware.
[mani: reworded subject and description]
📍 영향받는 시스템
PCIe rcar-host 컨트롤러 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
직접적인 원격 공격은 어려우나, 특정 하드웨어 인터럽트 발생 시 시스템 크래시 유도 가능
🛡️ 대응 방법
해당 결함이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 커밋(dd26c1a23fd5 이후 수정본)을 포함하는지 확인