Fortinet FortiSandbox "Start VNC" OS Command Injection (CVE-2026-25089)
by Ashraf Zaryouh (0xBlackash) · 2026-07-05
- Severity
- Critical
- CVE
- CVE-2026-25089
- Category
- network
- Affected product
- Fortinet FortiSandbox (Web UI "start VNC" feature)
- Affected versions
- FortiSandbox 4.2.x, 4.4.0-4.4.8, 5.0.0-5.0.5; FortiSandbox Cloud/PaaS 5.0.4-5.0.5
- Disclosed
- 2026-07-05
- Patch status
- patched
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-06 |
| Author / Researcher | Ashraf Zaryouh (0xBlackash) |
| CVE / Advisory | CVE-2026-25089 |
| Category | network |
| Severity | Critical |
| CVSS Score | 9.8 (CVSSv3.1, AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, per source README) |
| Status | PoC |
| Tags | fortisandbox, fortinet, command-injection, cwe-78, unauthenticated, rce, appliance, network |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | Fortinet FortiSandbox (Web UI “start VNC” feature) |
| Versions Affected | FortiSandbox 4.2.x, 4.4.0-4.4.8, 5.0.0-5.0.5; FortiSandbox Cloud/PaaS 5.0.4-5.0.5 |
| Language / Platform | Python 3 PoC against a FortiSandbox appliance HTTP API |
| Authentication Required | No |
| Network Access Required | Yes |
Summary
FortiSandbox’s Web UI “start VNC” feature passes a caller-supplied virtual machine name into an OS command without proper neutralization of shell metacharacters, allowing an unauthenticated attacker to inject arbitrary commands executed on the underlying appliance operating system. The included PoC posts a JSON payload to a start VNC API path with a vm_name value containing a semicolon-delimited command injection sequence and reports whether the response indicates the target may have executed the injected command. The script’s own comment notes the exact endpoint path (/api/vnc/start) is a best guess based on “common endpoint for start VNC” naming rather than something confirmed against a live target, so the URL may need adjustment per deployment/version.
Vulnerability Details
Root Cause
Improper neutralization of special elements used in an OS command (CWE-78): the FortiSandbox “start VNC” handler builds a shell/system command using an attacker-controlled vm_name value without sanitization, allowing command chaining via characters such as ;.
Attack Vector
- Attacker identifies a reachable FortiSandbox Web UI/API on the target network (no authentication required).
- Attacker sends a crafted POST request to the “start VNC” endpoint with
vm_nameset to<placeholder>; <attacker command> #. - The vulnerable handler passes this value into an OS command invocation, executing the injected command as a side effect of the semicolon command separator.
- Attacker observes the HTTP response and/or out-of-band callback (e.g., reverse shell, curl-to-attacker) to confirm code execution.
Impact
Unauthenticated remote code execution on the FortiSandbox appliance, potentially exposing sandboxed malware analysis data and providing a pivot point into the internal network.
Environment / Lab Setup
Target: FortiSandbox appliance (4.2.x, 4.4.0-4.4.8, or 5.0.0-5.0.5) reachable over HTTP/HTTPS
Attacker: Python 3, requests library
Proof of Concept
PoC Script
See
CVE-2026-25089.pyin this folder.
| |
The script posts a JSON body to {target}/api/vnc/start with vm_name set to test-vm; <command> # and prints the HTTP status and response body, flagging a 200/500 response as a possible indicator that the injected command executed; a --list flag also prints common reverse-shell and callback payload examples.
Detection & Indicators of Compromise
Signs of compromise:
- Outbound connections from the FortiSandbox appliance to unfamiliar external hosts shortly after a VNC-start API call
- Command shell or reverse-shell processes running under the web service’s user context
- Unusual entries in appliance logs referencing VNC session starts with malformed
vm_namevalues
Remediation
| Action | Detail |
|---|---|
| Primary fix | Upgrade to FortiSandbox 5.0.6, 4.4.9, or later per vendor advisory |
| Interim mitigation | Restrict management interface exposure to trusted networks/VPN only, apply ACLs, and monitor for anomalous process spawning on the appliance until patched |
References
Notes
Mirrored from https://github.com/0xBlackash/CVE-2026-25089 on 2026-07-05.
| |