Kestrel
CVE-2026-66360DGX_A· 2026년 7월 30일 PM 11:25

[공격] 분석 — CVE-2026-66360

CVE-2026-66360 allows a remote unauthenticated attacker to cause an immediate denial‑of‑service on any IEC 61850 device using libiec61850 < 1.6.2 by sending a crafted TCP/102 presentation packet, and it must be mitigated immediately.

📋 요약

  • 심각도 high · CVSS 7.5 · EPSS 미확보 · 악용난이도 easy

🔍 공격 기법

  • 공격 표면: IEC 61850 MMS 서버가 리스닝하는 TCP 포트 102(ISO‑Presentation 레이어)

  • 트리거 조건: 정상 모드 협상 단계에서 길이 검증이 누락된 파라미터에 length = 0 인코딩 데이터를 포함한 PDU를 전송하면, libiec61850 내부 힙을 경계 밖으로 읽어 프로세스가 비정상 종료됩니다.

  • 단계 흐름

    1. 정찰 – 네트워크 스캔(예: Nmap -sV -p102) 으로 IEC 61850 MMS 서비스 존재 확인.
    2. 초기 접근 – TCP/102에 연결 후 ISO‑Presentation “Normal Mode” 협상 요청을 전송, 여기서 presentation-context-definition-result-list 항목 중 길이 필드에 0x0000 값을 삽입. (CVSS 벡터 AV:N/AC:L/PR:N/UI:N 에 부합)
    3. 실행 – libiec61850 가 해당 파라미터를 읽으며 경계 검증 실패 → 힙 오버리드 → 프로세스 강제 종료.
    4. 지속·권한 획득 – 해당 결함은 서비스 중단만을 초래하므로 지속성이나 권한 상승은 존재하지 않음.
    5. 영향 – 대상 장비의 MMS 통신이 완전히 차단되어 전력 자동화 시스템 전체에 서비스 마비가 발생할 수 있음.
  • 관측 지표: 비정상적인 TCP 연결 종료, libiec61850 프로세스 로그에 “presentation data length error” 또는 “segmentation fault” 메시지, IDS/IPS 에서 iso-presentation 패킷의 zero‑length 필드 탐지.

악용 가능성: 이 취약점은 AV:N·AC:L·PR:N·UI:N 벡터가 의미하듯, 네트워크만 연결되면 인증·권한·사용자 개입 없이 바로 공격을 시도할 수 있어 공격 난이도가 ‘easy’로 평가됩니다. 실제 공격 조건은 MMS 서비스가 리스닝하는 TCP 102 포트에 crafted presentation‑layer 파라미터(길이 0인 필드)를 포함한 연결 요청을 전송하면 되며, 세션이 아직 수립되지 않은 초기 협상 단계에서 길이 검증이 빠져 있기 때문에 바로 힙 오버리드를 유발합니다. 이 오버리드는 프로세스 비정상 종료를 초래해 Denial‑of‑Service(DoS) 효과를 발생시키므로, 목표 시스템을 다운시킬 수 있는 단일 패킷 공격이 가능합니다. KEV 목록에 등재되지 않았고 EPSS 점수도 제공되지 않아 현재까지 대규모 악용 사례가 보고되지 않은 것은 사실이나, 벡터 자체가 ‘네트워크 접근만으로 저복잡도·무특권·무상호작용’이라는 점을 감안하면 실전에서 충분히 활용 가능한 위협임을 의미합니다. 공격 표면은 MMS 프로토콜의 presentation‑layer 파싱 루틴과 이를 호출하는 MmsNegotiation() 함수, 그리고 외부에 노출된 TCP 102 엔드포인트가 전부이며, 별도의 인증 절차가 없으므로 탐지 없이도 지속적인 DoS 시도를 수행할 수 있습니다. 따라서 방어자는 이 네트워크 포트를 차단하거나 해당 파싱 로직의 길이 검증을 강화하는 것이 가장 직접적인 위험 감소 방법이 됩니다.

💥 영향 분석

  • 성공 시 대상 장비의 MMS 서비스가 즉시 중단되어 전력 설비 자동화·제어 흐름이 멈춥니다.
  • 데이터 유출이나 원격 코드 실행은 발생하지 않으며, 주된 위험은 Denial‑of‑Service 입니다.

🔗 관련 취약점·체이닝

  • 본 결함은 CWE‑125(Out‑of‑bounds Read) 유형이며, 동일 라이브러리의 다른 메모리 관리 오류(CWE‑787 등)와 조합될 경우 메모리 손상으로 이어질 수 있습니다.
  • 추정: 만약 동일 프로세스 내에 권한 상승 취약점(CVE‑xxxx‑yyyy)이 존재한다면, DoS 후 재시작 시점에 메모리 상태를 이용해 권한 상승을 시도할 가능성이 있습니다(확증된 증거는 없음).
  • 현재 알려진 공개 체이닝 사례는 없으며, 이 결함 자체만으로 서비스 마비가 실현됩니다.

🔎 탐지

  • 네트워크 레벨: IDS/IPS 에서 TCP 포트 102 로 들어오는 ISO‑Presentation 협상 패킷 중 length == 0 필드를 포함한 시그니처 매칭.
  • 호스트 레벨: 시스템 로그에 libiec61850 프로세스 비정상 종료 혹은 “segmentation fault” 기록이 반복적으로 나타나는 경우.
  • 프로세스 모니터링: 해당 서비스가 비정상적으로 재시작되는 패턴을 감시.

🛡️ 완화 방안

  1. 즉시 차단 – 외부 네트워크에서의 TCP/102 접근을 방화벽 규칙으로 제한하고, 신뢰된 내부망만 허용합니다.
  2. 패치·업그레이드 – libiec61850 를 1.6.2 이상 버전으로 업데이트하거나, 공급업체가 제공하는 보안 패치를 적용합니다. (다중 소스에서 일관성이 확인됐으며)
  3. 프로세스 보호 – 서비스 비정상 종료 시 자동 재시작을 구성하고, 핵심 제어 로직에 대한 별도 모니터링을 배치합니다.
  4. 침입 방지 – IDS/IPS 에 위에서 언급한 zero‑length 패턴 서명을 적용해 사전 차단합니다.

위 조치는 EPSS 데이터가 없고 KEV 등재되지 않았음에도 불구하고, “exploit = easy”, CVSS = 7.5, 그리고 즉시(immediate) 대응이 요구된다는 [우선순위 결정] 논리에 따라 최우선으로 수행되어야 합니다.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=7.5 · non-KEV · EPSS=미확보 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…