CVE-2026-69658 (Ebyte NA111-M MQTT 평문 전송) 분석

CVE · IoT·임베디드 · 정보노출 · CVE-2026-69658 [표준]

개요

Ebyte NA111-M은 RS485 시리얼 신호를 이더넷으로 변환해주는 시리얼 서버 겸 산업용 IoT 게이트웨이입니다. 공장·설비 현장의 낡은 시리얼 장비를 IP 네트워크에 붙여주며, MQTT 클라이언트 모드로 원격 브로커에 연결해 텔레메트리와 제어 메시지를 주고받을 수 있습니다. 이 취약점의 핵심은 그 MQTT 통신이 전송 계층 암호화(TLS) 없이 평문으로 이뤄진다는 점입니다. 브로커 접속용 자격증명과 제어 트래픽이 네트워크 위에 그대로 노출되어, 트래픽을 관찰할 수 있는 공격자가 민감 정보를 획득하고 장치를 사칭하거나 메시징 기능을 교란할 수 있습니다.

  • CVSS 3.1: 9.8 (Critical), 벡터 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — 네트워크에서, 낮은 복잡도로, 권한이나 사용자 개입 없이 기밀성·무결성·가용성을 모두 최고 수준으로 위협합니다. (⚠️미확인 — CVSS 3.1 9.8은 애그리게이터·NVD 표기 기준. 발행 전 1차출처 대조 대상.)
  • CVSS 4.0: 9.3 (Critical), 벡터 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. (⚠️미확인 — 이 값은 애그리게이터 표기이며, NVD가 v4.0을 자체 부여했는지는 확인되지 않았습니다.)
  • CWE: CWE-319(민감 정보의 평문 전송). advisory 설명(“MQTT 자격증명과 제어 트래픽이 평문으로 전송됨”)과 라벨이 곧바로 맞아떨어집니다.
  • 인증 요구: 없음(unauthenticated), 원격. 다만 성격상 공격자는 트래픽을 관찰·가로챌 수 있는 네트워크 위치를 확보해야 합니다(중간자 또는 경로상 도청 위치).
  • 영향 제품/버전: Ebyte NA111-M Firmware 버전 9013-2-17. (⚠️미확인 — 정확한 릴리스 날짜와 다른 영향 버전 범위는 공개되지 않았습니다.)
  • 수정 버전: 없음. 벤더가 보고는 접수하고 패치가 “개발 중”이라 밝혔으나 이후 CISA의 협조 요청에 응답하지 않았으며, 발행 시점 기준 가용한 수정 버전은 없습니다.
  • 연구자: Jithin Nambiar J (CISA advisory 크레딧).

한 줄 요약: 자격증명을 평문으로 보내면, 그 선을 들을 수 있는 사람이 곧 로그인 계정을 갖습니다. NA111-M의 MQTT가 그 열린 선이었습니다.

기술 배경 — MQTT와 “선 위에서의 보호”

MQTT(Message Queuing Telemetry Transport)는 IoT 장치가 적은 대역폭으로 메시지를 주고받도록 설계된 경량 발행/구독(publish/subscribe) 프로토콜입니다. 장치는 중앙 브로커(broker)에 접속해, 특정 토픽(topic)에 메시지를 발행하거나 구독합니다. 브로커에 붙을 때는 보통 사용자명·비밀번호 같은 자격증명을 함께 보냅니다.

문제는 MQTT 자체가 기본적으로는 아무런 전송 암호화를 강제하지 않는다는 점입니다. 프로토콜 표준은 자격증명과 메시지를 평문으로 실어 보내며, 도청 방지는 그 아래 계층인 TLS(전송 계층 보안)를 얹어야 비로소 생깁니다. 즉 안전한 배포라면 장치가 브로커에 붙을 때 mqtts(TLS 위의 MQTT)를 쓰거나, VPN처럼 별도의 암호화된 통로를 거쳐야 합니다. 이 보호가 없으면, 같은 네트워크 세그먼트에서 트래픽을 스니핑하거나 경로 어딘가에서 패킷을 관찰할 수 있는 공격자에게 자격증명과 제어 메시지가 그대로 읽힙니다. CWE-319(민감 정보 평문 전송)가 가리키는 것이 바로 이 “보호 없이 선 위를 지나가는 비밀”입니다. 임베디드 장치의 소형 스택은 TLS 인증서 관리·연산 부담·짧은 개발 주기 탓에 이 암호화 옵션을 생략하는 경우가 특히 잦습니다.

CVE 분석 요약 — 코드가 아니라 설계의 결함

먼저 밝혀둘 한계: Ebyte NA111-M은 폐쇄형(closed-source) 임베디드 펌웨어입니다. 공개 소스 저장소·고정 커밋 SHA·패치 diff가 존재하지 않습니다. 그래서 이 글에는 실제 오픈소스 코드 파일·라인을 인용한 그림이 없습니다 — 억지로 재구성한 유사 코드는 사실을 왜곡할 수 있어 싣지 않습니다. 더 중요한 점은, 이 취약점이 애초에 “어느 코드 한 줄의 버그”가 아니라 MQTT 클라이언트 기능이 전송 암호화(TLS) 없이 동작하도록 설계·구현된 결함이라는 것입니다. 즉 고칠 대상은 잘못된 문장 하나가 아니라 “선을 암호화하지 않는다”는 구성 자체입니다.

확실한 사실(1차출처): MQTT 자격증명과 제어 트래픽이 평문으로 전송되어 네트워크 수준 공격자에게 민감 정보가 노출되며, 이것이 무단 장치 사칭(impersonation)과 메시징 기능 교란으로 이어질 수 있다 — 여기까지가 CISA advisory와 NVD가 명시한 내용입니다.

우리 분석(추론, 사실과 구분): 평문 자격증명이 탈취되면 공격 흐름은 대체로 다음처럼 전개된다고 예상됩니다. ① 공격자가 트래픽에서 브로커 접속 계정을 읽어냅니다. ② 그 계정으로 자신이 정당한 NA111-M인 척 브로커에 붙습니다(사칭). ③ 정당한 장치가 발행하는 토픽에 위조 메시지를 끼워 넣거나, 제어 메시지를 가로채 하위 시리얼 장비의 동작에 개입합니다. 이 단계별 인과는 CWE-319의 일반적 귀결에 근거한 우리 추론이며, advisory가 단계별로 서술한 확정 사실은 아닙니다.

열려 있는 부분(⚠️미확인, 팩트체크 대상): 장치가 TLS 옵션을 아예 제공하지 않는지, 제공은 하되 기본값이 꺼져 있는지, 특정 펌웨어 빌드에서만 평문인지는 공개된 1차출처에 구분돼 있지 않습니다. 이 구분은 advisory 요약 수준을 넘어서는 서술이므로, 확인된 사실이 아닌 열린 질문으로 남겨둡니다.

한 가지 중요한 문맥: 이 CVE는 NA111-M 하나의 advisory(ICSA-26-239-05)에 묶인 여러 결함 중 하나입니다(⚠️미확인 — 개수·구성은 팩트체크 대상. 리서치 재료는 총 13건으로 집계했으나 라이브 advisory 표와 바이트 단위로 재대조되지 않았습니다). 형제 결함으로는 무인증 관리 인터페이스 접근(인증 미비), 클라이언트측 인증 우회, CSRF 등이 함께 보고됐습니다. 즉 이 장치는 평문 전송 하나만이 아니라 여러 결함이 겹쳐 사실상 완전 장악이 가능한 상태로 보고됐고, CVE-2026-69658은 그중 “선 위의 비밀”을 무너뜨리는 정보노출 조각입니다. (같은 advisory의 관리 인터페이스 인증 미비는 CVE-2026-73125 분석에서 별도로 다룹니다.)

공격 시나리오 · 영향도 + 대응방안

공격 시나리오 (단계 압축, 완성형 페이로드 없음):

  1. 공격자가 NA111-M과 MQTT 브로커 사이 트래픽을 관찰할 수 있는 위치를 확보합니다(같은 네트워크 세그먼트에서의 도청, 또는 경로상 중간자 위치).
  2. 평문으로 오가는 MQTT 접속 트래픽에서 브로커 자격증명을 읽어냅니다. 별도의 암호 해독이 필요 없습니다 — 암호화가 없으므로 그대로 노출됩니다.
  3. 탈취한 자격증명으로 정당한 장치를 사칭해 브로커에 접속하거나, 제어 메시지를 위조·가로채 메시징 기능을 교란합니다. ⚠️미확인/추론: 사칭·교란의 구체적 파급 범위는 브로커·토픽 구성에 따라 달라지며, advisory는 세부 시나리오를 서술하지 않았습니다.

영향도: CVSS 9.8~9.3이 뜻하듯 기밀성·무결성·가용성이 모두 위협받습니다. 직접 확인된 것은 자격증명·제어 트래픽의 노출(기밀성)이고, 그로부터 사칭(무결성)과 메시징 교란(가용성)이 파생됩니다. NA111-M은 산업 현장의 시리얼 장비와 IP 네트워크를 잇는 접점이므로, MQTT 채널을 장악하면 그 뒤에 붙은 장비로 향하는 제어 흐름에 개입할 수 있는 위치를 얻게 됩니다. 다만 실제 악용 관측 여부는 확인되지 않았고, 발행 시점 기준 CISA KEV(알려진 악용 취약점) 목록에도 등재돼 있지 않습니다(⚠️미확인 — 리서치 시점 기준).

대응방안:

벤더 패치가 아직 없는 상태이므로, 대응은 근본 수정보다 보상적 통제(compensating control) 중심으로 짤 수밖에 없습니다.

  1. 근본(현재 제약): 벤더에게 패치 상태를 직접 문의하고, TLS 지원 펌웨어가 나오면 즉시 적용합니다. 벤더가 “개발 중”이라 밝힌 만큼 갱신을 주시하되, 현재 공개된 수정 버전은 없으므로 패치가 나올 때까지 아래 차선책으로 노출 자체를 줄이는 것이 실질적 대응입니다.
  2. 차선(선 위의 비밀 감싸기):
    • 장치의 MQTT 설정에서 TLS(mqtts) 옵션이 있으면 활성화하고, 브로커도 TLS를 강제하도록 구성합니다(옵션 제공 여부는 ⚠️미확인 — 장치 설정 화면에서 직접 확인 필요).
    • TLS 옵션이 없으면 MQTT 트래픽을 VPN·IPsec 등 암호화된 통로 안으로만 흐르게 해 평문을 외부에 노출하지 않습니다.
    • 장치와 브로커를 별도의 신뢰된 네트워크 세그먼트로 격리하고(network segmentation), 그 경로에 임의 호스트가 붙지 못하게 합니다. 평문이라도 도청 위치를 없애면 위험이 크게 줄어듭니다.
    • 브로커 자격증명은 이 장치 전용으로 발급하고 최소 권한(구독·발행 토픽 제한)으로 묶어, 탈취되더라도 사칭 범위를 좁힙니다.
  3. 탐지 관점: 같은 브로커 계정으로의 중복·비정상 접속(동일 클라이언트 ID의 재접속, 예기치 않은 출발지)을 모니터링하면 사칭 시도를 조기에 잡을 수 있습니다. 세그먼트 경계에서 MQTT 트래픽 흐름을 관찰해 평문 노출 구간이 남아 있는지 정기 점검합니다.

결론

프로토콜이 “암호화는 선택”이라 말할 때, 그 선택을 하지 않으면 자격증명은 우편엽서가 됩니다. NA111-M의 MQTT는 엽서로 보냈습니다.

이 부류의 취약점이 반복되는 이유는 분명합니다. MQTT처럼 기본이 평문인 프로토콜에서는, 전송 암호화를 “얹는” 걸 잊는 순간 그 위에 실린 모든 비밀이 그대로 새어나간다는 것입니다. 여기에 인증서 관리와 연산 부담을 피하려는 임베디드 장치의 관행, 그리고 벤더가 패치에 굼뜬 산업용 장비 특유의 유지보수 공백이 겹치면, 결함은 오래 살아남습니다. 그래서 이런 장치의 제어 채널은 애초에 암호화된 통로 안에 두고 신뢰된 대역으로 격리한다는 네트워크 위생이, 펌웨어 수정만큼이나 실질적인 방어가 됩니다. 이 한 틈은 언젠가 TLS 지원으로 닫히겠지만, “선 위의 비밀은 반드시 감싸라”는 원칙은 다른 장치·다른 프로토콜에서 또 시험대에 오릅니다. 그래서 우리는 도구가 아니라 방법을 남깁니다.

References / 참고자료

  1. CISA, “Ebyte NA111-M” ICS Advisory ICSA-26-239-05 — 이 글이 재구성한 1차 정본(제품·영향 버전·CVSS·CWE·완화책·연구자 크레딧). https://www.cisa.gov/news-events/ics-advisories/icsa-26-239-05
  2. NVD, “CVE-2026-69658” — 공식 취약점 레코드(개요·CVSS·CWE). https://nvd.nist.gov/vuln/detail/CVE-2026-69658
  3. THREATINT, “CVE-2026-69658” — 애그리게이터 레코드(CVSS 3.1/4.0 벡터·CWE 교차확인). advisory 링크에 오류가 있어 정본은 ICSA-26-239-05를 채택. https://cve.threatint.com/CVE/CVE-2026-69658
  4. CISA, “CISA Releases Seven Industrial Control Systems Advisories” (2026-08-27) — advisory 게시 일자·묶음 발행 확인. https://content.govdelivery.com/accounts/USDHSCISA/bulletins/4271564
  5. Ebyte(cdebyte.com), “NA111-M” 제품 페이지 — 장치 성격(RS485↔이더넷 시리얼 서버, MQTT 클라이언트 모드) 확인(벤더 1차). https://www.cdebyte.com/products/NA111-M

이 글은 위 원 자료를 우리 관점에서 다시 쓰고 논평을 더한 것입니다. 특정 문장·코드를 그대로 옮기지 않았으며, 자세한 재현 절차는 원문을 참고하세요. ⚠️미확인 표시가 붙은 사실 주장은 발행 전 독립 팩트체크로 1차출처 대조가 끝나야 확정됩니다.