🔍 CVE-2026-97536

7.5
CVSS Score
HIGH
2026-09-25
2026-10-30 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 qla2xxx SCSI 드라이버에서 큐 해제 과정 중 qpair 작업에 대한 Use-After-Free 취약점이 발견되었습니다. 인터럽트 핸들러가 예약한 작업이 메모리가 해제된 후 실행되면서 발생하며, 특히 어댑터 전체 해제 시 발생 가능성이 높습니다.

💡 쉬운 설명

컴퓨터 부품을 제거하는 과정에서 이미 삭제된 메모리 영역에 접근하려고 시도하여 시스템 오류를 일으키는 문제입니다. 이로 인해 시스템이 멈추거나 보안 문제가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules qla_do_work() via queue_work(ha->wq, &qpair->q_work). qla_do_work() dereferences the qpair (vha, rsp) and takes qpair->qp_lock. During teardown, qla2xxx_delete_qpair() deletes the response queue, which calls free_irq() in qla25xx_free_rsp_que(), and then frees the queue and the qpair. free_irq() waits for running hardirq handlers but does not cancel work already placed on ha->wq. A still-pending q_work then runs qla_do_work() against the freed qpair and response queue, causing a use-after-free. This is especially likely during full adapter teardown, where destroy_workqueue(ha->wq) forces pending work to run after the queue pairs have been freed. Flush the work item with cancel_work_sync() in qla25xx_free_rsp_que() after free_irq() has released the interrupt (so no new work can be queued) and before the response queue and qpair memory are freed (so the flushed handler still sees valid memory). Guard on rsp->qpair and ha->wq to match the INIT_WORK() condition and avoid operating on an uninitialized work_struct.

📍 영향받는 시스템

Linux kernel (qla2xxx SCSI driver)

⚔️ 공격 벡터

로컬 권한을 가진 공격자가 특정 하드웨어 드라이버의 큐 해제 프로세스를 유도하여 메모리 오류를 발생시킴

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 qla25xx_free_rsp_que() 내 cancel_work_sync() 적용 확인

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel