[단독분석] 분석 — CVE-2026-23110
CVE‑2026‑23110 is a local SCSI race condition in Linux kernels that can stall block I/O, and applying the upstream kernel patch is the primary mitigation.
📋 요약
- 심각도 medium · CVSS 4.7 · EPSS 0.00095 · 악용난이도 hard
🔍 공격 기법
SCSI 서브시스템에서 scsi_dec_host_busy()와 scsi_eh_inc_host_failed() 사이의 메모리 순서 재배열이 발생하면, 마지막 명령이 완료되거나 타임아웃될 때 오류 처리기가 깨우지 못하고 호스트가 영구적으로 busy 상태에 머뭅니다. 로컬 프로세스가 다중 CPU 환경에서 SCSI 명령을 동시에 전송해 경쟁 상태를 유도하면 I/O가 정체됩니다.
악용 가능성: 이 취약점은 AV:L (로컬) 조건을 만족해야 하므로 공격자는 대상 시스템에 직접 접근할 수 있어야 합니다. AC:H (높은 난이도)는 scsi_dec_host_busy()와 scsi_eh_inc_host_failed() 함수 사이에서 발생하는 메모리 순서 재배열 레이스를 정확히 타이밍 맞춰 유발해야 함을 의미하며, 여러 CPU 코어 간의 동시성 제어가 필요해 실현이 매우 어렵습니다. PR:L (낮은 권한)에도 불구하고 UI:N (사용자 개입 없음)으로, 일반 사용자 계정만으로도 I/O 요청을 지속적으로 발생시키면 레이스 조건을 만들 가능성이 있으나, 성공 확률은 낮습니다. EPSS 값이 0.00095 로 매우 낮고 KEV 목록에 등재되지 않은 점은 현재까지 실제 악용 사례가 보고되지 않았으며, 이론적 심각도와는 별개로 실전 위협도가 제한적임을 보여줍니다. 공격자는 SCSI 호스트에 연결된 블록 디바이스(예: /dev/sdX) 혹은 SCSI generic 인터페이스(예: /dev/sg*)를 통해 I/O 명령을 전송하고, 동시에 커널 내부의 명령 완료와 오류 처리 흐름이 교차하도록 인위적인 부하나 지연을 가해야 합니다. 이러한 트리거는 고빈도 읽기·쓰기 작업이나 특수하게 조정된 테스트 도구를 사용해 레이스 윈도우를 넓히는 경우에만 실현 가능하며, 일반적인 업무 환경에서는 발생 확률이 거의 없습니다. 따라서 공격 난이도는 hard 으로 평가되며, 실제 악용 가능성은 낮지만 로컬 권한을 가진 내부 위협이나 악의적 코드가 존재할 경우 제한된 서비스 거부(DoS) 형태로 영향을 미칠 수 있습니다.
💥 영향 분석
- 기술적 위험: 경쟁 상태로 인해 SCSI 호스트의 busy 카운트와 실패 카운트가 불일치하고, 오류 처리기가 동작하지 않아 블록 디바이스 I/O가 무한정 대기합니다. 이는 서비스 가용성(Availability)만 영향을 미치며, 기밀성(C)·무결성(I)은 영향받지 않습니다.
- 비즈니스 리스크: 스토리지·데이터베이스·가상화 환경 등 고가용성을 요구하는 시스템에서 I/O 정체가 발생하면 SLA 위반, 서비스 중단 및 운영 비용 증가가 초래될 수 있습니다.
- 영향 제품·노출 규모: Linux kernel 5.5‑5.10.249, 5.11‑6.1.162, 6.2‑6.6.122, 6.7‑6.12.68, 6.13‑6.18.8 등 광범위한 버전이 포함됩니다. [교차검증] 다중 소스에서 일관성이 확인되었습니다.
- 악용 가능성: AV:L·AC:H·PR:L·UI:N 벡터에 따라 로컬 권한을 이미 보유한 공격자가 정밀 타이밍으로 경쟁 상태를 유도해야 합니다. EPSS 0.00095(실측)와 KEV 미등재로 현재 야생 악용 사례는 “미관측”이며, 실전 활용 난이도가 높아 위험도는 medium 수준에 머뭅니다.
🔗 관련 취약점·체이닝
SCSI 서브시스템을 대상으로 하는 기존 로컬 권한 상승(CVE‑2021‑3493 등)과 연계될 경우, 먼저 권한을 확보한 뒤 본 레이스 컨디션을 트리거해 서비스 가용성을 저하시킬 수 있습니다. 현재 확인된 직접적인 체이닝 CVE는 없습니다.
🔎 탐지
dmesg·시스템 로그에 “scsi_eh” 관련 타임아웃, “host busy count mismatch”, “SCSI host stuck” 메시지가 반복적으로 나타나는 경우.iostat,sar등에서 특정 블록 디바이스의 I/O 대기시간 급증 감지.- 커널 트레이스(
tracepoint: scsi_eh_*)를 활용해scsi_dec_host_busy()와scsi_eh_inc_host_failed()호출 순서를 기록하면 경쟁 상태 발생 여부 확인 가능.
🛡️ 완화 방안
- 즉시 조치: 해당 커널 버전에 포함된 최신 패치를 적용하여 메모리 배리어가 삽입된 코드를 배포합니다.
- 임시 대응: 과도한 동시 I/O를 제한하고,
scsi_mod.use_blk_mq옵션을 검토해 I/O 스케줄링을 완화합니다. - 장기 방어: 정기적인 커널 업데이트 정책을 수립하고, 위에서 제시한 로그·성능 지표를 지속 모니터링하여 이상 징후가 포착되면 즉시 조사합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=4.7 · non-KEV · EPSS=0.00095 · exploit=hard · in_scope=None