[공격] 분석 — CVE-2026-19188
Critical OS command injection in Haiwell IoT Cloud HMI Gateway’s /setting cmdPing endpoint allows unauthenticated remote code execution as root – block the endpoint and apply vendor patch immediately.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.0189 · 악용난이도 moderate
🔍 공격 기법
-
공격 표면
- 노출 엔드포인트:
POST /setting(Socket.IO) - 이벤트명:
cmdPing - 파라미터: 사용자 입력 문자열이 그대로 OS 명령어에 전달됨(정규식·필터링 부재)
- 노출 엔드포인트:
-
공격 흐름
- 정찰 – 포트·HTTP 스캔으로
/setting경로와 Socket.IO 핸드쉐이크 확인. UI가 필요 없고 인증도 요구되지 않음(PR:N,UI:N). - 초기 접근 – 악의적 클라이언트를 사용해 Socket.IO 연결을 수립하고,
cmdPing이벤트에"ping; <악성 명령>"형태의 페이로드 전송. - 명령 실행·권한 획득 – 전달된 문자열이 서버 측
system()혹은 유사 함수에 그대로 삽입돼 루트 쉘에서 실행됨(S:C,C:H/I:H/A:H). - 지속 – 성공 시
/etc/rc.local·cron·systemd unit 등에 후킹하여 재부팅 시에도 유지 가능(루트 권한 보유). - 영향 – 전체 시스템 장악, 네트워크 스니핑·추가 악성 배포 등 전파 파급력 확보.
- 정찰 – 포트·HTTP 스캔으로
-
전제 조건
- 외부에서
/setting엔드포인트에 직접 접근 가능해야 함(AV:N). - 방화벽·IP 제한이 없을 경우 바로 이용 가능, 공격 난이도 낮음(
AC:L).
- 외부에서
-
CVSS ↔ 실제 조건 매핑
AV:N / PR:N / UI:N→ 인증·사용자 상호작용 전혀 필요.AC:L→ 단순 문자열 삽입으로 성공, 복잡한 우회 불필요.
악용 가능성: AV가 Network이고 AC가 Low이며 PR이 None, UI가 None인 점은 공격자가 인증·사용자 개입 없이 인터넷을 통해 바로 /setting 엔드포인트의 cmdPing Socket.io 이벤트에 악성 문자열을 전송해 OS 명령을 실행할 수 있음을 의미합니다. 이 취약점은 루트 권한으로 명령이 전달되므로 성공 시 시스템 전체를 장악할 수 있는 높은 영향력을 갖습니다. EPSS 0.0189(≈1.9% 확률)와 KEV에 등재되지 않은 점은 현재까지 대규모 악용 사례가 보고되지 않았지만, 원격 무인 공격이 가능한 구조라 실전에서 활용될 가능성이 완전히 배제되지는 않음을 시사합니다. 공격 표면은 공개된 /setting HTTP API와 Socket.io 프로토콜이며, 파라미터 값만 조작하면 명령 주입이 이루어집니다. 초기 정찰 단계에서는 서비스가 외부에 노출돼 있는지 포트·프로토콜 스캔으로 확인하고, 이후 바로 악성 페이로드를 전송해 명령 실행 → 루트 쉘 획득 → 지속적 제어 흐름을 구축하는 일련의 체인이 성립됩니다. 따라서 이 취약점은 낮은 난이도와 넓은 공격 표면 때문에 실전 활용 가능성이 존재하지만, 현재 관측된 악용 빈도가 낮아 moderate 등급으로 평가되었습니다.
💥 영향 분석
- 루트 권한을 획득해 시스템 파일 수정·삭제 가능.
- IoT 게이트웨이 자체가 다른 산업 장비와 연동돼 있으므로, 침투된 게이트웨이를 통해 생산 라인 제어 명령 변조·중단 위험.
🔗 관련 취약점·체이닝
- CWE‑78(OS Command Injection) → 입력 검증 부재가 근본 원인.
- 추정: 동일 제품에 존재할 수 있는 **디렉터리 트래버설(CWE‑22)**이나 **인증 우회(CWE‑287)**와 결합하면, 먼저 인증을 회피한 뒤 명령 주입으로 권한 상승이 가능함(구체적 CVE 번호는 확인되지 않음).
🔎 탐지
- Socket.IO
cmdPing이벤트 로그에 특수 문자(;,&&,|)가 포함된 페이로드 감지. - 게이트웨이 프로세스(
haiwell-gateway등)의 비정상적인execve()/system()호출 기록. - IDS/IPS에서
cmdPing.*(;|\|\||&&)패턴 매칭 규칙 적용.
🛡️ 완화 방안
- 즉시 외부 접근 차단: 방화벽·ACL로
/setting엔드포인트를 내부망 전용으로 제한. - 입력 검증 강화: 화이트리스트 기반 파라미터 허용, 특수 문자 제거 또는 이스케이프 처리 적용.
- 최신 패치 적용: 공급업체가 제공하는 펌웨어/패치를 신속히 배포하고, 루트 권한으로 실행되는 서비스는 최소화.
- 감시 체계 구축: 위 탐지 항목을 SIEM에 연동해 실시간 알림 설정.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=10.0 · non-KEV · EPSS=0.0189 · exploit=moderate · in_scope=None