🔍 CVE-2026-97409

8.8
CVSS Score
HIGH
2026-09-24
2026-10-03 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nvme-fc 드라이버에서 IO 타겟이 초기화되기 전에 요청을 취소하려 할 때 발생하는 취약점입니다. CONNECTING 상태에서 관리자 요청 타임아웃이 발생하면 초기화되지 않은 tagset을 참조하여 시스템 경고나 불안정성을 초래할 수 있습니다.

💡 쉬운 설명

컴퓨터의 저장 장치와 통신하는 과정에서 준비가 덜 된 상태로 명령을 취소하려고 시도하여 발생하는 오류입니다. 이로 인해 시스템이 예기치 않게 경고를 내보내거나 불안정해질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nvme-fc: Do not cancel requests in io target before it is initialized A new nvme-fc controller in CONNECTING state sees admin request timeout schedules ctrl->ioerr_work to abort inflight requests. This ends up calling __nvme_fc_abort_outstanding_ios() which aborts requests in both admin and io tagsets. In case fc_ctrl->tag_set was not initialized we see the warning below. This is because ctrl.queue_count is initialized early in nvme_fc_alloc_ctrl(). nvme nvme0: NVME-FC{0}: starting error recovery Connectivity Loss INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe lpfc 0000:ab:00.0: queue 0 connect admin queue failed (-6). you didn't initialize this object before use? turning off the locking correctness validator. Workqueue: nvme-reset-wq nvme_fc_ctrl_ioerr_work [nvme_fc] Call Trace: <TASK> dump_stack_lvl+0x57/0x80 register_lock_class+0x567/0x580 __lock_acquire+0x330/0xb90 lock_acquire.part.0+0xad/0x210 blk_mq_tagset_busy_iter+0xf9/0xc00 __nvme_fc_abort_outstanding_ios+0x23f/0x320 [nvme_fc] nvme_fc_ctrl_ioerr_work+0x172/0x210 [nvme_fc] process_one_work+0x82c/0x1450 worker_thread+0x5ee/0xfd0 kthread+0x3a0/0x750 ret_from_fork+0x439/0x670 ret_from_fork_asm+0x1a/0x30 </TASK> Update the check in __nvme_fc_abort_outstanding_ios() confirm that io tagset was created before iterating over busy requests. Also make sure to cancel ctrl->ioerr_work before removing io tagset.

📍 영향받는 시스템

Linux kernel (nvme-fc driver components)

⚔️ 공격 벡터

로컬 또는 네트워크를 통한 NVMe-FC 연결 상태 조작을 통한 레이스 컨디션 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 io tagset 초기화 확인 로직을 적용해야 합니다.

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel