[단독방어] 분석 — CVE-2025-68818
A kernel NULL‑pointer dereference in the QLogic qla2xxx driver (CVE-2025-68818) can be triggered via malformed SCSI aborts, so immediately blacklist the qla2xxx module while applying a patched kernel as the top priority mitigation.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.00262 · 악용난이도 hard
🔍 공격 기법
취약한 __qla2x00_abort_all_cmds() 함수가 스핀락 없이 sp->done()을 호출하면서 TYPE_TGT_CMD인 경우 잘못된 포인터를 역참조한다.
공격자는 SCSI TARGET 모드에서 의도적으로 abort 명령을 전송해 TYPE_TGT_CMD 구조체를 만들고, 커널이 NULL 주소를 fetch하도록 유도한다. 이 과정은 네트워크·iSCSI·FC 등 어떤 경로에서도 동일하게 발생할 수 있다.
악용 가능성: CVSS 벡터 AV:A/AC:L/PR:N/UI:N는 인접 네트워크(예: 동일 LAN)에서 복잡도 낮게 권한·사용자 상호작용 없이 공격이 가능함을 의미하지만, 실제로 이 취약점을 이용하려면 qla2xxx 드라이버가 장착된 Linux 호스트에 연결된 QLogic Fibre Channel 어댑터를 통해 SCSI 타입 TYPE_TGT_CMD 를 포함한 특수 abort 명령을 전송해야 합니다. 즉, 공격자는 iSCSI·FC 게이트웨이와 같은 스토리지 프로토콜 엔드포인트에 접근해 abort_all_cmds() 경로를 강제로 호출하고, lock‑less 완료 루틴에서 sp->cmd_type 검증이 누락된 상황을 만들어야 합니다. 이러한 트리거는 특정 하드웨어(QLA24xx 시리즈)와 타깃 모드가 활성화된 환경에 제한되므로 실제 공격 조건은 일반적인 서버보다 훨씬 드물어 “hard” 등급이 부여됩니다. EPSS 0.00262라는 낮은 실측값과 KEV 미등재는 현재 악용 사례가 거의 없음을 나타내지만, 취약점 자체가 커널 레벨에서 무효 포인터 점프를 일으켜 시스템 전체 권한 상승을 가능하게 하므로 이론적 위험도는 여전히 높습니다. 따라서 공격 표면은 SCSI 명령 인터페이스(예: sg ioctl, iSCSI target)와 해당 어댑터가 노출된 네트워크 경로이며, 이러한 경로를 통해서만 조건부 악용이 실현될 수 있습니다.
💥 영향 분석
NULL pointer dereference → 커널 패닉 → 시스템 전체 다운(서비스 중단) 및 데이터 손실 위험.
공격이 성공하면 공격자는 서비스 거부(DoS)를 초래하지만, 현재 알려진 경로에서는 권한 상승이나 원격 코드 실행은 확인되지 않았다.
🔗 관련 취약점·체이닝
- 동일 드라이버(qla2xxx)에서 과거 TYPE_SRB와 TYPE_TGT_CMD 구분 오류가 있었던 CVE‑2024‑xxxxx(예시).
- SCSI TARGET 모드 자체를 악용하는 다른 커널 버그(CVE‑2023‑xxxx)와 연계해 DoS를 확대할 수 있다.
🔎 탐지
로그 위치·필드
/var/log/kern.log,journalctl -k: “BUG: kernel NULL pointer dereference”, “qla2xxx …” 메시지.- dmesg 출력에 “PF: supervisor instruction fetch in kernel mode”, “address: 0000000000000000”.
SIEM 쿼리 예시 (Elastic Kibana DSL)
1{ 2 "bool": { 3 "must": [ 4 { "match_phrase": { "message": "qla2xxx" } }, 5 { "match_phrase": { "message": "NULL pointer dereference" } } 6 ], 7 "filter": [ 8 { "range": { "@timestamp": { "gte": "now-5m" } } } 9 ]10 }11}정규식 기반 탐지 (Splunk)
1index=kernel ("qla2xxx" AND ("BUG:" OR "NULL pointer dereference")) 2| stats count by host, _time 3| where count > 0오탐 튜닝
- 정상적인 드라이버 초기화 로그에 “qla2xxx … create sess success”가 포함될 수 있다. →
message필드에서 반드시 “BUG:” 혹은 “NULL pointer dereference”를 추가 조건으로 설정. - 시스템 부팅 시 발생하는 일시적 NULL pointer 경고는
kernel.panic_on_oops=0환경에서만 나타날 가능성이 있으므로,panic_on_oops값이 1인 경우에만 알림을 활성화한다.
검증 방법
- 테스트 시스템에서 의도적으로 abort 명령을 전송하고 위 쿼리가 정상 감지되는지 확인.
- 정상 운영 중 동일 쿼리 실행 시 알림이 발생하지 않는지 확인하여 오탐 비율을 측정한다.
🛡️ 완화 방안
즉시(긴급 차단) – 오늘 당장 적용할 임시 차단 한 가지
qla2xxx모듈을 블랙리스트에 추가하고 현재 로드된 인스턴스를 언로드한다.- 파일
/etc/modprobe.d/blacklist-qla2xxx.conf에blacklist qla2xxx입력 후modprobe -r qla2xxx(가능한 경우) 또는 재부팅. - 구현 난이도: ★★☆☆☆ (간단히 적용 가능) / 운영 영향: 해당 HBA가 사용 중이면 스토리지 연결이 차단되어 가용성 저하 → 반드시 서비스 의존성을 사전 확인.
- 검증:
lsmod | grep qla2xxx로 모듈 비로드 여부 확인, 이후 로그에 BUG 메시지가 나타나지 않는지 관찰.
- 파일
단기(완화) – 패치 전까지 위험을 낮추는 조치
- 커널 파라미터
panic_on_oops=1로 설정해 OOPS 발생 시 자동 재부팅하도록 하여 서비스 중단 시간을 최소화한다 (/etc/sysctl.d/99-kernel.conf). - SELinux/AppArmor 프로파일에 qla2xxx가 SCSI TARGET 모드로 전환되는
ioctl호출을 차단하는 규칙 추가. - 구현 난이도: ★★★☆☆ (시스템 설정 변경 및 정책 작성 필요) / 운영 영향: 재부팅 시점에 일시적 다운, 정책 오탐 가능성 존재 → 테스트 환경에서 사전 검증 권고.
- 검증:
sysctl -a | grep panic_on_oops로 값 확인, SELinux 로그(audit.log)에 차단 이벤트가 기록되는지 확인.
근본(해결) – 패치·업그레이드 절차
- 배포판 제공 최신 커널(예: 6.8.x 이상)으로 업그레이드하거나, 해당 커밋을 포함한 backport 패치를 적용한다.
- 소스 레벨에서는
git revert 0367076b0817d5c75dfb83001ce7ce5c64d803a9를 수행하고, 재컴파일 후 배포한다. - 구현 난이도: ★★★★★ (커널 빌드·배포 프로세스 필요) / 운영 영향: 커널 교체에 따른 전체 시스템 재부팅 및 호환성 테스트 요구.
- 검증:
uname -r로 커널 버전 확인, 취약점이 포함된 파일(drivers/scsi/qla2xxx.c)에 revert가 적용됐는지git log로 검사, 그리고 동일 abort 시나리오 재실행 후 BUG 로그가 사라졌는지 확인.
잔여 리스크
패치를 적용해도 qla2xxx 드라이버 자체의 다른 결함이 존재할 수 있다. 따라서 패치 적용 후에도 위 탐지 규칙을 지속 운영하고, 정기적인 커널 보안 스캔을 수행한다.
인시던트 대응 플레이북 (초기 확인 순서)
- 로그 집계 →
journalctl -k | grep -i qla2xxx로 최근 BUG 메시지 탐색. - 해당 호스트에서
lsmod | grep qla2xxx로 모듈 존재 여부 파악. - 서비스 영향도 평가 – 스토리지 연결이 끊겼는지 확인 (
multipath -ll,lsblk). - 즉시 차단 조치(블랙리스트) 적용 후 재부팅, 정상 동작 확인.
- 장기 패치 계획 수립 및 배포.
우선순위 근거
- 교차검증 결과 다중 소스에서 일관성이 확인돼(CVE-2025-68818, 신뢰도 1.0) 위험도가 보수적으로 높은 값( CVSS 8.8 )으로 평가됨.
- EPSS 0.00262는 실제 악용 가능성이 낮지만, “exploit=hard”·“vector AV:A/AC:L” 특성상 공격이 성공하면 즉시 서비스 중단을 초래하므로 신속 대응이 필요하다.
- KEV에 등재되지 않았으나 규칙 기반 우선순위 결정( CVSS 8.8 + non‑KEV + EPSS 0.00262 )에 따라 이번 주 내 스케줄링된 조치가 권고된다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.00262 · exploit=hard · in_scope=None