[방어] 분석 — CVE-2025-68782
CVE-2025-68782 is a Linux kernel SCSI‑target null‑pointer dereference that can cause remote denial‑of‑service, mitigated immediately by disabling the target subsystem until the upstream patch is applied.
📋 요약
- 심각도 high · CVSS 7.5 · EPSS 0.00501 · 악용난이도 moderate
🔍 공격 기법
SCSI target 서브시스템에서 cmd->t_task_cdb 할당이 실패하면 NULL 상태가 유지된 채 에러 경로(err)에서 역참조됩니다. 원격 사용자는 iSCSI(포트 3260) 등 SCSI target 서비스에 요청을 전송해 해당 오류를 강제하고 커널 패닉을 유발합니다.
악용 가능성: AV:N·AC:L·PR:N·UI:N 벡터는 공격자가 네트워크만으로 인증 없이 바로 목표 시스템에 접근해도 된다는 의미이며, 복잡한 사전 준비가 필요 없고 사용자 개입조차 요구되지 않으므로 실전에서 활용하기 쉬운 환경을 나타냅니다. 실제로 이 취약은 SCSI target 서브시스템이 처리하는 iSCSI·Fibre‑Channel 등 네트워크 기반 스토리지 프로토콜의 명령 패킷에 존재하므로, 공격자는 해당 포트를 열어두고 있는 서버에 임의의 CDB(명령 디스크 블록) 데이터를 전송하면 됩니다. 취약점이 발동하는 트리거는 cmd->t_task_cdb 할당이 실패하도록 만든 비정상적인 CDB 크기·형식을 포함한 패킷을 전송하는 것으로, 이 경우 NULL 포인터가 오류 처리 경로에서 역참조되어 커널 패닉 혹은 권한 상승이 일어날 수 있습니다. EPSS = 0.00501(≈0.5 %)는 현재까지 관측된 실제 공격 발생 확률이 낮지만 완전히 무시할 수준은 아니며, KEV에 등재되지 않은 점은 아직 대규모 악용 사례가 보고되지 않았음을 의미합니다. 따라서 “네트워크 → SCSI target (ioctl/packet) → 할당 실패 → NULL 역참조”라는 공격 표면이 명확히 존재하고, 원격·무인 조건만 충족하면 성공 가능성이 충분히 확보됩니다. 이러한 특성을 고려할 때, 해당 취약점은 난이도는 낮고 악용 가능성은 중간 수준(moderate)으로 평가됩니다.
💥 영향 분석
- 시스템 전체가 커널 패닉으로 재부팅되어 가용성이 상실됩니다 (DoS).
- 추정: 메모리 할당 실패 상황을 조작해 슬랩(Slab) 스프레이와 결합하면, 0‑페이지를 점유하거나 함수 포인터 오염을 통해 권한 상승(LPE)으로 이어질 가능성도 존재합니다.
🔗 관련 취약점·체이닝
- 동일 SCSI target 경로에서 발생하는 NULL‑pointer dereference(예: CVE‑2024‑XXXX)와 메모리 할당 오류를 이용한 슬랩 오염 기법이 연계될 경우, DoS → LPE 체인이 형성될 수 있습니다. (구체적인 CVE 번호는 확인되지 않음)
🔎 탐지
-
로그 지표
- 커널 로그(
dmesg혹은/var/log/kern.log)에kernel: BUG: unable to handle kernel NULL pointer dereference at ... scsi_target.c와 같은 메시지가 기록됩니다. - 시스템 이벤트 로그(
/var/log/messages)에서scsi_target모듈이 비정상 종료된 직후 재시작되는 패턴을 포착합니다.
- 커널 로그(
-
SIEM 쿼리 예시 (예: Elastic Security, Splunk)
source:"kernel" AND message:/BUG: unable to handle kernel NULL pointer dereference/ AND message:/scsi_target.c/index=system sourcetype=syslog "scsi_target" "module unload"→ 재로드 시도 감지- 정규식:
(?i)kernel.*BUG.*NULL pointer.*scsi_target\.c
-
오탐 튜닝
- 정상적인 커널 디버깅 세션에서 발생하는 동일 메시지는
process_name:"kexec"혹은command_line:"debug"필터로 제외합니다. - 과도한 알림을 방지하기 위해 연속 발생 시 최소 5분 간격으로 집계(
aggregation_window:300s)하도록 설정합니다.
- 정상적인 커널 디버깅 세션에서 발생하는 동일 메시지는
🛡️ 완화 방안
-
네트워크 접근 제한
- 방화벽 규칙 추가:
iptables -A INPUT -p tcp --dport 3260 -j DROP(iSCSI 미사용 환경) - 난이도: 중간 / 운영 영향: iSCSI 포트 차단 → 기존 연결 끊김 검증:
netstat -an | grep :3260로 포트 열림 여부 확인
- 방화벽 규칙 추가:
-
SELinux/AppArmor 프로파일 강화
auditallow규칙을 통해scsi_target모듈이 비정상 메모리 할당을 수행하지 못하도록 제한- 난이도: 중간 / 운영 영향: 최소, 정책 적용 후 재시작 필요 검증:
ausearch -m AVC -ts recent | grep scsi_target로 거부 로그 확인
-
커널 파라미터 조정 (가능한 배포판에 한함)
/etc/sysctl.conf에kernel.kptr_restrict=2설정으로 커널 주소 노출 최소화- 난이도: 낮음 / 운영 영향: 디버깅 정보 감소, 보안 향상 검증:
sysctl kernel.kptr_restrict값 확인
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.5 · non-KEV · EPSS=0.00501 · exploit=moderate · in_scope=None