SparkView 로컬 연결 체크 우회 RCE


요약
CVE-2026-6213은 Remote Spark SparkView에서 로컬 연결 판별이 우회될 수 있는 취약점이다. NVD는 build 1122 이전에서 이 우회 뒤 서버 측 코드 실행이 가능하다고 설명했고, CVSS v4.0 10.0, 치명적 등급으로 분류했다. 공개 자료 기준으로는 게이트웨이의 출발지 판정과 신뢰 경계가 핵심이다.
SparkView는 브라우저 기반 HTML5 원격 접속 게이트웨이다. 공식 소개는 WebSocket과 HTTP를 쓰는 게이트웨이 구조, 그리고 RDP, RFB, SSH, TELNET 연결 중계를 함께 설명한다. 이 구조에서는 프록시 뒤에서 실제 출발지와 애플리케이션이 보는 출발지가 달라질 수 있다.
Note
공개 수정 기준은 build 1122다. 번들 제품은 제품명보다 포함된 SparkView 구성요소의 build 번호를 먼저 확인한다.
취약점 개요
| 항목 | 내용 |
|---|---|
| CVE | CVE-2026-6213 |
| 제품 | Remote Spark SparkView |
| 영향 버전 | build 1122 이전 |
| 심각도 | CVSS v4.0 10.0, 치명적 |
| CWE | CWE-290, CWE-807 |
| 공격 조건 | 네트워크 경유, 낮은 복잡도, 인증 불필요, 사용자 상호작용 불필요로 등록됨 |
| 실행 결과 | 서버 측 코드 실행, 루트 권한 수준으로 설명됨 |
SparkView는 클라이언트와 내부 호스트 사이에 놓이는 게이트웨이다. 따라서 취약점의 초점은 개별 프로토콜보다, 게이트웨이가 “로컬 연결”로 받아들이는 경계가 외부 입력에 의해 흔들릴 수 있느냐에 있다.
날짜와 패치 상태
| 날짜 | 내용 |
|---|---|
| 2026-03-30 | SparkView build 1122 릴리스 노트에 Fix a security issue (CVE-2026-6213)가 추가됐다. |
| 2026-04-08 | ManageEngine Access Manager Plus build 4403 릴리스 노트에 third-party package의 CVE-2026-6213 관련 원격 코드 실행 수정이 적혔다. |
| 2026-05-07 | SparkView build 1127 릴리스 노트에 build 1122 수정 항목의 CVE 번호가 반영됐다. |
| 2026-05-08 | NVD가 CVE-2026-6213을 게시했다. |
운영 기준은 단순하다. Spark View는 build 1122 이상으로 맞춘다. Access Manager Plus처럼 SparkView나 관련 third-party package를 포함하는 제품은 별도 build 번호를 확인한다.
영향 범위
직접 영향 대상은 Remote Spark SparkView build 1122 이전이다. 브라우저 기반 게이트웨이 구조라 외부 노출 인스턴스와 프록시 뒤 인스턴스 모두 점검 대상이다.
간접 영향도 있다. Access Manager Plus 릴리스 노트는 CVE-2026-6213을 third-party package의 문제로 따로 적는다. 자산 목록에 SparkView 이름이 없어도 원격 세션 기능 내부에 포함돼 있을 수 있다.
자산 식별
build 번호가 핵심 식별자다. 설치본과 프로세스가 보이면 먼저 build를 잡고, 1122 미만이면 취약 자산으로 분류한다.
find /opt /usr/local /var -type f \
\( -iname '*spark*' -o -iname '*gateway*' -o -iname '*view*' \) \
2>/dev/null
ps -ef | grep -Ei 'SparkGateway|sparkview|remotespark' | grep -v grep
build 파일, 릴리스 노트, 프로세스 실행 흔적이 하나라도 잡히면 버전 확인부터 한다. 번들 제품이면 제품명보다 포함된 구성요소 기준으로 본다.
탐지 포인트
네트워크
- reverse proxy 뒤에서 SparkView가 내부 또는 로컬 기원으로 오인할 만한 요청이 반복되는지 본다.
X-Forwarded-For,Forwarded,X-Real-IP같은 헤더를 신뢰하는 정책이 있으면 접근 제어가 함께 흔들리는지 본다.- WebSocket 기반 세션 개시 요청이 프록시 로그와 게이트웨이 로그에서 서로 다른 client IP로 남는지 본다.
엔드포인트
- 세션 시작 직전의 공통 요청을 본다. SparkView는 RDP, RFB, SSH, TELNET 같은 프로토콜을 게이트웨이에서 중계하므로, 프로토콜별 페이로드보다 앞단의 접속 흐름이 더 중요하다.
- 브라우저가 게이트웨이로 붙는 WebSocket 흐름이 비정상적으로 자주 끊기거나 다시 붙는지 본다.
- build 1123 릴리스 노트에는
copyFile파라미터가 WebSocket URL과serves.json에 노출된다고 적혀 있다. 웹소켓 경로가 실제 접속면이라는 점을 함께 보여준다.
서버
- SparkView Gateway 자식 프로세스가 셸, 다운로드 도구, 인터프리터를 띄우는지 본다. 서버 측 코드 실행이 명시돼 있으므로 이런 자식 프로세스는 강한 신호다.
- 세션 시작 직후에만 나타나는
sh,bash,curl,wget,python,perl실행 흔적을 본다.
ausearch -ts recent -x sh
ausearch -ts recent -x bash
ausearch -ts recent -x curl
ausearch -ts recent -x wget
ausearch -ts recent -x python
ausearch -ts recent -x perl
journalctl --since "2026-05-01" | grep -Ei 'SparkGateway|sparkview|remotespark|ProcessBuilder|Runtime|Exception'
대응 포인트
- Spark View는 build 1122 이상으로 올린다.
- Access Manager Plus 같은 번들 제품은 build 4403 이상으로 맞춘다.
- gateway 실행 계정은 root를 쓰지 않는다.
- reverse proxy의 헤더 신뢰 정책은 최소화한다.
[Service]
User=sparkview
Group=sparkview
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/sparkview /var/log/sparkview
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
원격 접속 게이트웨이는 필요한 네트워크 family와 쓰기 경로를 먼저 좁힌 뒤 잠근다. 막힌 기능이 있으면 예외를 추가하되, 기본값은 좁게 둔다.
참고 자료
- NVD - CVE-2026-6213
- Remote Spark - What's new
- Remote Spark - HTML5 Solution
- ManageEngine Access Manager Plus Release Notes
- ManageEngine Access Manager Plus Upgrade Pack
- MITRE CWE-290
- MITRE CWE-807