FortiClient EMS CVE-2026-35616: 사전 인증 API 우회가 엔드포인트 관리 서버를 노리는 방식
CVE-2026-35616은 FortiClient EMS의 사전 인증 API 접근 제어를 우회해 원격 코드 실행으로 이어질 수 있는 치명적 제로데이 취약점이다.
2026-08-14 · 최초 발행 2026-04-17
2026년 4월 Fortinet은 FortiClient EMS(Endpoint Management Server)의 CVSS 9.1 취약점 CVE-2026-35616에 대한 긴급 핫픽스를 배포했다. 이 제로데이는 사전 인증 상태에서 API 접근 제어를 우회해 원격 코드 실행으로 이어질 수 있으며, 실제 악용은 2026년 3월 31일부터 확인됐다.
취약점은 FortiClient EMS 7.4.5 ~ 7.4.6에 영향을 준다. CWE 분류는 CWE-284(Improper Access Control)이며, 발견자는 Defused Cyber의 Simo Kohonen과 Nguyen Duc Anh다. 핫픽스가 배포됐고 정식 패치는 7.4.7에서 제공될 예정이다.
신뢰할 수 없는 헤더가 인증 입력이 된 경로
FortiClient EMS는 다수의 FortiClient 에이전트를 중앙에서 제어하기 위한 웹 기반 관리 인터페이스를 제공한다. CVE-2026-35616에서는 관리 API의 인증 체계가 공격 경로가 됐다.
공격자는 유효한 자격 증명이나 세션 토큰 없이 보호된 API 엔드포인트에 접근할 수 있다. 인증 단계를 통과한 뒤 API 기능별 권한 검사도 부재해 관리자 수준의 작업을 수행할 수 있으며, API를 통해 서버 측 명령 실행까지 가능하다. FortiClient EMS는 일반적으로 SYSTEM 권한으로 실행되므로 원격 코드 실행은 최고 수준의 시스템 접근 권한으로 이어진다.
Bishop Fox의 기술 분석에 따르면 FortiClient EMS의 웹 프레임워크는 Django 기반이며, 인증 미들웨어의 설계 결함이 문제의 중심이다.
| 구성 요소 | 정상 동작 | 취약점 악용 |
|---|---|---|
| Apache mod_ssl | 클라이언트 인증서 검증 후 WSGI 환경변수 설정 | 우회 대상 |
| Django 미들웨어 | WSGI 환경변수에서 인증 정보 읽기 | HTTP 헤더에서도 인증 정보 수락 |
| SSL 헤더 | 신뢰할 수 있는 내부 경로로 전달 | 공격자가 직접 위조 가능 |
| API 엔드포인트 | 인증된 사용자만 접근 허용 | 위조 헤더로 인증 통과 |
Django 미들웨어가 Apache mod_ssl이 설정한 신뢰 가능한 WSGI 환경변수뿐 아니라 사용자가 제어할 수 있는 HTTP 헤더에서도 클라이언트 인증서 정보를 받는 이중 입력 경로가 존재했다. 공격자는 SSL 클라이언트 인증서 관련 HTTP 헤더를 위조해 유효한 인증서를 제시한 것처럼 미들웨어를 속일 수 있다.
이는 리버스 프록시인 Apache와 애플리케이션 서버인 Django 사이의 신뢰 경계가 불명확할 때 발생하는 전형적인 아키텍처 결함이다.
관리 API 장악이 전체 에이전트 제어로 이어지는 이유
이 취약점은 네트워크 접근만으로 엔드포인트 인프라 전체를 장악할 수 있는 경로를 제공한다.
공격자는 인터넷에 노출된 FortiClient EMS 인스턴스를 식별한 뒤 조작된 HTTP 헤더를 포함한 요청으로 API 인증을 우회한다. 이후 엔드포인트 정책 수정, 소프트웨어 배포, 구성 변경 같은 관리자 기능을 실행할 수 있다. EMS가 관리하는 모든 엔드포인트에 대한 제어권을 확보하고, 보안 에이전트를 통해 조직 전체에 악성코드를 배포하는 흐름도 가능하다.
공격 복잡도는 낮다. 특별한 도구나 사전 지식 없이 HTTP 요청 조작만으로 공격할 수 있고, 피해자의 사용자 상호작용도 필요하지 않다. EMS가 관리하는 모든 FortiClient 에이전트가 잠재적 공격 대상이 된다.
CISA는 2026년 4월 6일 이 취약점을 Known Exploited Vulnerabilities 카탈로그에 추가했다. FCEB 기관에는 2026년 4월 9일까지 패치가 의무화됐다.
실제 악용 정황과 우선 대응
Defused Cyber의 허니팟에서는 2026년 3월 31일 최초 익스플로잇 시도가 기록됐다. 공격은 인터넷에 노출된 FortiClient EMS 인스턴스를 상대로 자동화된 스캔과 공격 형태로 수행됐으며, 최초 탐지부터 핫픽스 배포까지 약 4~5일간 제로데이 상태가 지속됐다. 대규모 엔드포인트를 관리하는 기업과 정부 기관이 주요 표적이다.
대응은 관리 서버의 노출 상태를 먼저 줄이는 데서 시작한다.
- FortiClient EMS 7.4.7로 업데이트하거나 긴급 핫픽스를 적용한다.
- EMS 관리 인터페이스를 인터넷에서 격리하고 VPN 또는 방화벽 뒤에 둔다.
- EMS API 접근 로그에서 비정상적인 인증 패턴과 알 수 없는 소스 IP를 검토한다.
- Fortinet 및 보안 커뮤니티가 공유한 침해 지표(IoC)를 대조한다.
- FortiClient 에이전트의 정책 변경 이력과 소프트웨어 배포 기록을 감사한다.
- SSL 헤더 스푸핑 시도를 탐지하는 웹 애플리케이션 방화벽 규칙을 추가한다.
보안 관리 플랫폼이 단일 실패점이 될 때
CVE-2026-35616은 엔드포인트 보안 관리 솔루션 자체가 공격 대상이 됐을 때의 파급력을 드러낸다. 보안을 위해 배포한 관리 플랫폼이 침해되면 보호 대상인 전체 엔드포인트가 동시에 위험에 노출된다.
중앙 집중식 관리는 효율적이지만 단일 실패점(Single Point of Failure)이 될 수 있다. EMS의 소프트웨어 배포 기능은 침해 시 악성코드 유포 경로로 전용될 수도 있다. Fortinet 제품군에서는 FortiGate(CVE-2024-55591), FortiOS(CVE-2024-47575) 등에서도 치명적 취약점이 반복적으로 발견됐다.
관리 서버 네트워크 분리, 다중 인증(MFA) 강제, API 접근에 대한 제로 트러스트 원칙 적용은 이런 위험을 줄이기 위한 방어 기준이다. 사전 인증 우회와 원격 코드 실행이 결합된 관리 서버 취약점은 패치 여부뿐 아니라 관리 평면의 노출과 접근 경계를 함께 점검하게 만든다.
Sources
- Fortinet Patches Actively Exploited CVE-2026-35616 in FortiClient EMS
- API Authentication Bypass in FortiClient EMS — Bishop Fox
- CVE-2026-35616: FortiClient EMS API Auth Bypass Enables Command Execution
- FortiClient EMS zero-day exploited, emergency hotfixes available
- CVE-2026-35616: FortiClient EMS Flaw Under Active Exploitation
- CVE-2026-35616: FortiClient EMS Actively Exploited — IR Guide