Kestrel
CVE-2026-63033DGX_E· 2026년 7월 31일 AM 12:20

[단독공격] 분석 — CVE-2026-63033

An unauthenticated remote attacker can trigger an out‑of‑bounds read in IEC 60870‑5‑104 servers by sending a crafted I‑frame with an oversized object count, so immediate validation of the object‑count field or blocking TCP 2404 is required.

📋 요약

  • 심각도 medium · CVSS 6.5 · EPSS 미확보 · 악용난이도 easy

🔍 공격 기법

  • 정찰
    • 대상 시스템이 IEC 60870‑5‑104 프로토콜을 사용 중인지 확인하기 위해 TCP 2404 포트 스캔 및 핸드쉐이크(ASDU 교환) 패턴을 관측합니다.
  • 초기 접근
    • 정상 I‑frame 구조를 역분석하여 object count 필드의 오프셋과 길이를 파악하고, ASDU 바디가 수용할 수 있는 최대 객체 개수를 계산합니다.
  • 실행 (트리거 조건)
    • object count 값을 실제 ASDU 길이보다 크게 설정한 I‑frame을 생성합니다. 이 프레임은 인증·세션 절차 없이 바로 TCP 2404 로 전송됩니다(AV:N, PR:N, UI:N).
    • 수신 모듈의 InformationObject_ParseObjectAddress 함수가 힙에 할당된 메시지 버퍼 끝을 한 바이트 초과해 읽게 되어 OOB read 가 발생합니다.
  • 권한 획득·추가 활용
    • 단일 바이트 OOB read 자체는 메모리 내용 누출 수준이지만, 누출된 포인터나 스택 값이 다른 메모리 손상 취약점(예: 쓰기‑오버플로우)과 결합될 경우 임의 코드 실행(RCE)이나 서비스 중단을 유도할 수 있습니다.
    • 해당 서버가 SCADA/RTU 핵심 제어 프로세스라면, 메모리 누출 정보를 이용해 인증 토큰을 추출하거나 명령 흐름을 변조하여 지속적인 영향(악성 코드 영구화·제어 명령 위변조)으로 확대될 수 있습니다.
  • 지속·영향
    • OOB read가 연쇄적으로 메모리 손상을 일으키면 프로세스 크래시(Denial‑of‑Service)가 발생할 수 있으며, 심각한 경우 물리 설비 제어에 직접적인 영향을 미칩니다.

악용 가능성: 이 취약은 IEC 60870‑5‑104 서버가 네트워크를 통해 직접 수신하는 I‑frame의 object count 필드에 과도한 값을 넣으면, InformationObject_ParseObjectAddress 함수가 힙 버퍼 끝을 한 바이트 초과해 읽게 되는 메모리 오류입니다. CVSS 벡터 AV:N/AC:L/PR:N/UI:N는 공격자가 인증·사용자 인터랙션 없이 인터넷(또는 내부망)에서 바로 TCP 2404 포트로 악의적인 프레임을 전송하면 된다는 의미이며, 실제 조건은 “특정 I‑frame 구조와 과다 object count”만 충족하면 됩니다. EPSS 데이터가 존재하지 않더라도 KEV에 등재되지 않은 것은 아직 대규모 악용 사례가 보고되지 않았음을 뜻하지만, 공격 난이도는 낮고 필요한 전제조건이 거의 없으므로 실전에서 활용 가능성이 높습니다. 공격 표면은 IEC 60870‑5‑104 프로토콜을 구현한 수신 엔드포인트와, 파싱 로직이 호출되는 InformationObject_ParseObjectAddress 함수가 노출되는 부분이며, 해당 함수는 들어오는 ASDU의 바디 길이를 검증하지 않아 바로 트리거됩니다. 따라서 원격 공격자는 단일 패킷을 전송함으로써 메모리 손상을 일으키고, 서비스 중단이나 잠재적 권한 상승 등 후속 악용 단계로 이어질 수 있습니다.

💥 영향 분석

  • 힙 버퍼를 초과해 1바이트를 읽음으로써 인접 메모리(포인터·핸들 등) 값이 외부에 노출됩니다.
  • 누출된 정보를 기반으로 추가 메모리‑오염 취약점과 결합하면 원격 코드 실행 또는 서비스 거부가 가능해집니다.
  • SCADA/RTU 환경에서는 제어 명령 전송 지연·위변조, 설비 가동 중단 등 실질적인 물리적 피해로 이어질 위험이 있습니다.

🔗 관련 취약점·체이닝

  • CWE‑787 (Out‑of‑bounds Read) → 메모리 내용 노출 → 정보 수집 단계.
  • 추정: 동일 IEC 60870‑5‑104 스택 내에 존재할 가능성이 높은 입력 검증 결함(CWE‑20, 부적절한 길이 체크)과 연계하면 초기 접근 난이도가 더욱 낮아집니다.
  • 체인 예시
    1️⃣ OOB read 로 메모리 포인터 누출 → 2️⃣ 다른 쓰기‑오버플로우 혹은 포인터 변조 취약점에 전달 → 3️⃣ 임의 코드 실행 또는 서비스 중단.

🔎 탐지

  • 네트워크 IDS/IPS: object count 값이 ASDU 실제 길이를 초과하는 IEC 60870‑5‑104 패킷을 매칭하는 시그니처 (iec_60870_5_104 && object_count > asdu_length).
  • 호스트 기반 모니터링: 프로세스가 할당된 버퍼 끝을 넘어 읽는 시스템 콜(예: read/memcpy)이 발생했을 때 경고 로그를 기록합니다.

🛡️ 완화 방안

  • 즉시 조치
    • TCP 2404 포트를 차단하거나, 신뢰할 수 있는 내부망에서만 허용하도록 방화벽 규칙을 적용합니다.
    • 수신 모듈에 object count와 ASDU 길이 일치를 검증하는 입력 검사 로직을 긴급 패치 형태로 삽입합니다.
  • 근본 해결
    • 벤더가 제공하는 공식 보안 업데이트를 신속히 적용하고, InformationObject_ParseObjectAddress 함수에 경계 검사 코드를 추가하도록 요청합니다.
    • 네트워크 세분화·제로 트러스트 원칙을 도입해 IEC 60870‑5‑104 서버 접근을 최소 권한의 호스트로 제한합니다.

본 보고서는 다중 소스에서 일관성이 확인된 정보(교차검증)와 EPSS 데이터가 현재 제공되지 않음에도 “exploit=easy” 평가를 근거로 즉시 대응(immediate) 필요성을 규칙 기반 우선순위 결정 로직에 따라 제시했습니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…