🇰🇷 한글 설명
Linux 커널의 hisi_sas 드라이버에서 하드웨어 프로브 실패 시 IRQ 벡터를 해제하는 순서가 잘못되어 커널 BUG가 발생하는 취약점입니다. 이로 인해 시스템이 예기치 않게 중단되거나 커널 패닉이 발생할 수 있습니다.
💡 쉬운 설명
하드웨어를 인식하는 과정에서 오류가 발생했을 때, 컴퓨터가 내부 자원을 정리하는 순서가 꼬여서 시스템이 멈춰버리는 문제입니다. 마치 물건을 정리할 때 상자를 먼저 버리고 내용물을 치우려다 문제가 생기는 것과 같습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: hisi_sas: Free irq vectors in order for v3 HW
If the driver probe fails to request the channel IRQ or fatal IRQ, the
driver will free the IRQ vectors before freeing the IRQs in free_irq(),
and this will cause a kernel BUG like this:
------------[ cut here ]------------
kernel BUG at drivers/pci/msi.c:369!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Call trace:
free_msi_irqs+0x118/0x13c
pci_disable_msi+0xfc/0x120
pci_free_irq_vectors+0x24/0x3c
hisi_sas_v3_probe+0x360/0x9d0 [hisi_sas_v3_hw]
local_pci_probe+0x44/0xb0
work_for_cpu_fn+0x20/0x34
process_one_work+0x1d0/0x340
worker_thread+0x2e0/0x460
kthread+0x180/0x190
ret_from_fork+0x10/0x20
---[ end trace b88990335b610c11 ]---
So we use devm_add_action() to control the order in which we free the
vectors.
📍 영향받는 시스템
hisi_sas 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 드라이버의 프로브 과정을 유도하여 커널 패닉을 일으킬 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인하십시오.