🇰🇷 한글 설명
Linux 커널의 qla2xxx SCSI 드라이버에서 I/O 중단(abort) 타임아웃 발생 시 시스템이 충돌하는 취약점입니다. I/O 작업이 이미 완료되었는지 확인하지 않고 완료 처리를 호출하여 발생하며, CPU 핫플러그 작업 중 크래시가 관찰되었습니다.
💡 쉬운 설명
데이터를 읽거나 쓰는 작업이 중간에 멈췄을 때, 시스템이 이 작업이 끝났는지 제대로 확인하지 못해 컴퓨터가 갑자기 꺼지는 현상입니다. 주로 서버의 부품을 교체하거나 설정을 변경하는 과정에서 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Fix crash when I/O abort times out
While performing CPU hotplug, a crash with the following stack was seen:
Call Trace:
qla24xx_process_response_queue+0x42a/0x970 [qla2xxx]
qla2x00_start_nvme_mq+0x3a2/0x4b0 [qla2xxx]
qla_nvme_post_cmd+0x166/0x240 [qla2xxx]
nvme_fc_start_fcp_op.part.0+0x119/0x2e0 [nvme_fc]
blk_mq_dispatch_rq_list+0x17b/0x610
__blk_mq_sched_dispatch_requests+0xb0/0x140
blk_mq_sched_dispatch_requests+0x30/0x60
__blk_mq_run_hw_queue+0x35/0x90
__blk_mq_delay_run_hw_queue+0x161/0x180
blk_execute_rq+0xbe/0x160
__nvme_submit_sync_cmd+0x16f/0x220 [nvme_core]
nvmf_connect_admin_queue+0x11a/0x170 [nvme_fabrics]
nvme_fc_create_association.cold+0x50/0x3dc [nvme_fc]
nvme_fc_connect_ctrl_work+0x19/0x30 [nvme_fc]
process_one_work+0x1e8/0x3c0
On abort timeout, completion was called without checking if the I/O was
already completed.
Verify that I/O and abort request are indeed outstanding before attempting
completion.
📍 영향받는 시스템
Linux kernel (qla2xxx driver 사용 시스템)
⚔️ 공격 벡터
로컬 환경에서의 CPU 핫플러그 또는 특정 I/O 타임아웃 유도 (Denial of Service)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.