[공격] 분석 — CVE-2026-15680
Remote Code Execution via Format String vulnerability in Lorex 2K Indoor Wi-Fi Security Camera's sonia binary; immediate network isolation and firmware update are required.
📋 요약
- 심각도 high · CVSS 7.5 · EPSS 0.0026 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건:
sonia바이너리가 JSON 요청을 파싱하는 과정에서 사용자 입력 문자열을 검증 없이 포맷 스트링(Format Specifier)으로 직접 전달할 때 발생함. - 공격 단계:
- 정찰: 네트워크 인접(Network-adjacent) 환경에서 Lorex 2K 카메라의 관리 포트 및 JSON API 엔드포인트 스캔.
- 초기 접근: 인증 없이(
PR:N) HTTP/JSON 요청 전송. - 실행·권한 획득:
%p,%x등을 이용해 메모리 구조를 리킹(Leaking)하고,%n과 같은 포맷 스트링 제어자를 통해 임의 주소에 값을 써서 실행 흐름을 조작.root권한으로 프로세스가 동작하므로 즉시 최고 권한 획득. - 지속 및 영향: 메모리 상에 쉘코드를 적재하거나 시스템 설정 파일을 수정하여 백도어 설치.
- 공격 표면:
- 엔드포인트: 추정:
sonia바이너리가 처리하는 JSON API 수신 포트. - 파라미터: JSON 요청 내의 사용자 정의 문자열 필드.
- 엔드포인트: 추정:
- CVSS 벡터 분석:
AV:A: 네트워크 인접 환경(동일 서브넷 등)에서만 접근 가능.AC:H: 메모리 레이아웃 파악 및 포맷 스트링 페이로드 정밀 구성 필요(Exploit Hard).PR:N/UI:N: 인증이나 사용자 상호작용 없이 공격 가능하여 진입 장벽이 낮음.
악용 가능성: 본 취약점은 AV:A 및 AC:H 벡터가 시사하듯, 공격자가 타겟과 동일한 로컬 네트워크(Network-adjacent)에 위치해야 하며 정교한 페이로드 구성이 필요하므로 공격 난이도는 Hard로 평가됩니다. 하지만 PR:N/UI:N 조건으로 인해 인증 없이도 접근이 가능하다는 점은 내부망 침투 후 횡적 이동(Lateral Movement) 단계에서 치명적인 위협이 됩니다. 실제 악용 가능성은 EPSS 0.0026 및 KEV 미등재 상태로 보아 현재 광범위한 자동화 공격이 이루어지는 단계는 아니나, sonia 바이너리의 JSON 요청 파싱 과정에서 발생하는 Format String 취약점 특성상 메모리 주소 유출과 임의 값 쓰기가 가능해 root 권한 획득으로 직결됩니다. 공격 표면은 네트워크를 통해 노출된 sonia 프로세스의 JSON 수신 엔드포인트이며, 특히 입력값 검증 없이 포맷 지정자로 사용되는 특정 파라미터가 핵심 트리거 지점입니다. 결과적으로 이론적 심각도와 별개로, 한 번의 내부 진입만으로 IoT 기기의 최상위 권한을 탈취해 지속적인 감시나 봇넷 가담에 이용될 수 있는 실전적 위험성을 내포하고 있습니다.
💥 영향 분석
- 기술적 위험:
- 시스템 완전 장악:
root권한의 RCE를 통해 카메라 제어권 탈취. - 데이터 유출: 실시간 영상 스트림 및 저장된 녹화 데이터 무단 접근.
- 횡적 이동: 내부 네트워크 내의 다른 기기를 공격하기 위한 피벗(Pivot) 포인트로 활용.
- 시스템 완전 장악:
- 비즈니스 영향:
- 프라이버시 침해: 물리적 보안 장비가 감시 도구로 변질되어 심각한 신뢰도 하락 및 법적 규제 위반 가능성.
🔗 관련 취약점·체이닝
- 추정 체이닝 경로:
정보 노출(Memory Leak) → 실행 흐름 조작(Control Flow Hijack) → RCE.- 포맷 스트링 취약점 특성상
%p등을 이용한 메모리 주소 읽기가 선행되어야 ASLR과 같은 보호 기법을 우회하고 정확한 쓰기 지점을 찾을 수 있음.
- 포맷 스트링 취약점 특성상
- 유형 수준 체이닝:
CWE-134 (Use of Externally-Controlled Format String)단독으로도 RCE가 가능하나, 추정: 타 JSON 파싱 오류나 버퍼 오버플로우와 결합하여 페이로드 전달 효율을 높일 수 있음.
🔎 탐지
- 로그 지표: HTTP 요청 바디(JSON) 내에
%s,%x,%n,%p등이 반복적으로 나타나는 패턴. - 탐지 규칙 예시:
- Rule 1 (SIEM/IDS):
payload contains ("%x%x" OR "%p%p" OR "%n") AND destination_port == [Sonia_Port] - Rule 2 (Regex):
/(%[dxpsn])\1{3,}/(동일한 포맷 스트링 제어자가 4번 이상 반복되는 패턴 탐지) - Rule 3 (Behavior): 인증되지 않은 IP로부터 단시간 내에 다량의 비정상 JSON 요청 유입.
- Rule 1 (SIEM/IDS):
- 오탐 및 튜닝: 정상적인 로그 메시지나 특정 설정값에
%문자가 포함될 수 있음. 단순히%하나가 아니라%x,%p와 같은 제어자 조합과 반복 횟수를 기준으로 임계값을 설정하여 오탐을 줄임.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 내부 네트워크 ACL 설정을 통해 카메라 관리 포트로의 접근을 신뢰할 수 있는 IP로만 제한. (난이도: 하 / 영향: 낮음 / 검증: 외부 IP 접속 테스트)
- 단기(완화):
- IPS/WAF에 위 탐지 규칙(포맷 스트링 패턴)을 적용하여 악성 페이로드 차단. (난이도: 중 / 영향: 매우 낮음 / 검증: 더미 페이로드 전송 테스트)
- 근본(해결):
- 제조사 제공 최신 펌웨어로 업데이트.
sonia바이너리 내 포맷 스트링 함수(printf등)를 안전한 함수(fprintf(..., "%s", user_input))로 교체하는 패치 적용 확인. (난이도: 중 / 영향: 재부팅 필요 / 검증: 버전 확인 및 취약점 스캔)
- 제조사 제공 최신 펌웨어로 업데이트.
[분석 근거] 본 리포트는 다중 소스에서 일관성이 확인된 데이터를 기반으로 작성되었습니다. 실측 EPSS 값(0.0026, 백분위 0.17605)은 이론적 심각도(CVSS 7.5)와 달리 실제 야생에서의 악용 확률이 현재 매우 낮음을 뜻합니다. 따라서 KEV 미등재 및 Exploit Hard 등급을 고려하여 'Scheduled' 우선순위로 결정되었으며, 이번 주 내 대응을 권고합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.5 · non-KEV · EPSS=0.0026 · exploit=hard · in_scope=None