[공격] 분석 — CVE-2026-50103
CVE-2026-50103 is a NULL‑pointer dereference in the L2 GOOSE/R‑GOOSE parser that lets an adjacent attacker crash subscribing IEDs by sending malformed TLV values, and the top mitigation is to filter such frames at the network edge while awaiting vendor patches.
📋 요약
- 심각도 medium · CVSS 6.5 · EPSS 0.00165 · 악용난이도 hard
🔍 공격 기법
- 공격 전제: CVSS 벡터 AV:A/AC:L/PR:N/UI:N 에 따라 물리·논리적으로 L2 네트워크에 접속할 수 있는 공격자만 필요합니다. 인증·사용자 상호작용이 없으므로 바로 실행 가능하며, 영향은 Availability‑High(A:H) 로 정의됩니다.
- 정찰: 스위치 포트 혹은 VLAN 에서 IEC 61850 GOOSE 트래픽을 패킷 캡처(tcpdump/Zeek 등)하여 멀티캐스트 MAC(01:0C:CD:xx…) 및 TLV 구조를 파악합니다.
- 초기 접근: 공격자는 동일 LAN 혹은 스위치 레벨에서 프레임 삽입 권한을 확보하면 됩니다. GOOSE는 인증이 없으므로 PR:N 조건을 만족합니다.
- 트리거 구성: GOOSE 프레임의 TLV 중
value필드에 NULL 포인터가 역참조되도록 길이와 데이터 값을 조작합니다(예: Length=0 혹은 비정규 Offset). 파서가 해당 포인터를 검증 없이 역참조하면 NULL‑pointer dereference 가 발생합니다. - 전송·실행: 변조된 GOOSE 프레임을 멀티캐스트 주소(01‑0C‑CD‑01‑00‑01 등) 혹은 구독 IED가 수신하는 MAC 로 전송합니다. AC:L 이므로 복잡도는 낮으며, 단일 패킷만으로 크래시를 유발할 수 있습니다.
- 영향: 파싱 단계에서 프로세스가 비정상 종료(A:H) 하여 해당 IED의 보호 로직이 중단됩니다. 다수 IED 가 동일 프레임을 구독하고 있다면 연쇄적인 서비스 거부(Cascading Failure)가 발생할 수 있습니다.
악용 가능성: AV:A는 공격자가 IEC 61850 GOOSE 트래픽이 흐르는 네트워크에 직접 연결돼 있어야 함을 의미합니다. AC:L은 TLV 값을 조작한 GOOSE 프레임을 전송하는 것만으로도 충분하므로 구현 난이도가 낮습니다. PR:N·UI:N은 공격 수행에 별도의 권한이나 사용자 개입이 필요 없음을 나타내며, 순수히 네트워크 레벨에서 악용이 가능함을 보여줍니다. EPSS = 0.00165라는 실측값은 현재까지 보고된 실제 이용 사례는 드물지만, 완전히 무시할 수 없는 위험성을 시사하고 KEV에 등재되지 않은 점은 아직 대규모 공격으로 전환되지 않았음을 의미합니다. 트리거 조건은 파싱 로직에서 NULL 포인터를 역참조하게 만드는 malformed TLV 값을 포함한 GOOSE/R‑GOOSE 프레임을 수신하는 것으로, 이를 통해 구독 애플리케이션이 강제 종료됩니다. 공격 표면은 Ethernet LAN 상에 노출된 GOOSE 인터페이스와 파서가 처리하는 TLV 필드(길이·값)이며, 해당 함수 호출 시 입력 검증이 부재한 점이 핵심 취약점입니다. 따라서 “hard” 등급은 네트워크 인접성이라는 전제는 까다롭지만, 프로토콜 이해와 프레임 조작만으로 실행 가능하다는 점에서 숙련된 공격자에게는 실현 가능한 위협이라고 평가됩니다.
💥 영향 분석
- 구독 애플리케이션(보호 계전기·IED) 프로세스가 강제 종료되어 실시간 보호 기능이 정지됩니다.
- 재시작 지연 시 전력/가스 설비의 차단·재연결 동작이 지연돼 지역 정전 위험이 커집니다.
- 기밀성·무결성은 영향을 받지 않으며, 주된 위협은 가용성(DoS)입니다.
🔗 관련 취약점·체이닝
- CWE‑476 (NULL Pointer Dereference): 파서에서 NULL 검증 부재가 기본 DoS 패턴으로 활용됩니다.
- 프로세스 자동 재시작 스크립트 결함(추정): 크래시 후 비정상적인 재시작 로직이 존재하면 권한 상승이나 임의 코드 실행으로 이어질 수 있습니다.
- IEC 61850 GOOSE 재전송·리플레이(추정): 초기 크래시를 유도한 뒤 정상 프레임을 리플레이하면 상태 불일치가 발생해 보호 로직에 오류를 삽입할 가능성이 있습니다.
🔎 탐지
- IDS/IPS 에서 IEC 61850 GOOSE 프레임의 TLV
length값이 0 또는 사양 범위를 초과하는 경우 경보 생성. - IED 로그에 “process terminated due to access violation” 혹은 비정상 종료 이벤트 급증 감시.
- 스위치 포트에서 동일 MAC 로 짧은 시간 내 다수 GOOSE 프레임이 전송되는 트래픽 폭주 패턴 모니터링.
🛡️ 완화 방안
- 즉시: 스위치 ACL 혹은 라우터 필터링으로 TLV 길이가 0 이거나 비정규 값을 포함한 GOOSE 프레임을 차단하고, VLAN‑segmentation 으로 외부 접속을 제한합니다.
- 근본: 벤더가 제공하는 패치를 적용해 파서의 NULL 체크 로직을 보강합니다. 펌웨어 업데이트 시 재시작 스크립트와 자동 복구 메커니즘도 검증하십시오.
- 추가: IED 이중화 및 프로세스 감시(heartbeat) 기반 자동 복구를 도입해 단일 장비 장애 시 서비스 연속성을 확보합니다.
다중 소스에서 일관성이 확인됐으며, EPSS 0.00165(실제 악용 확률이 매우 낮음)와 “exploit=hard” 평가가 우선순위 결정을 ‘monitor’ 로 이끌었습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=6.5 · non-KEV · EPSS=0.00165 · exploit=hard · in_scope=None