OS Command Injection in Fortinet FortiSandbox API
CVE-2026-39808 is a critical OS command injection vulnerability in the Fortinet FortiSandbox API affecting FortiSandbox versions 4.4.0 through 4.4.8. The flaw is caused by improper neutralization of special elements used in an OS command, allowing attacker-controlled input supplied through a vulnerable API endpoint to reach OS command execution logic without sufficient sanitization. Multiple sources in the provided content state that exploitation is possible via specially crafted HTTP requests and does not require authentication. Successful exploitation can result in unauthorized code or command execution on the underlying FortiSandbox system.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (2 hidden).
This repository is a small standalone Python exploit/scanner for Fortinet FortiSandbox command injection, targeting CVE-2026-39808. It contains two files: a detailed README and one executable Python script, fortisandbox_rce.py. The script is the sole code artifact and likely the only entry point. The exploit’s purpose is twofold: first, verify whether a remote FortiSandbox instance is vulnerable; second, optionally execute arbitrary OS commands as root without authentication. The attack is delivered over HTTP(S) to the web endpoint /fortisandbox/job-detail/tracer-behavior by injecting shell metacharacters into the jid parameter. The repository documentation and code indicate that command output is redirected to /web/ng/out.txt on the target and then fetched back through the web path /ng/out.txt, giving the operator a simple blind-to-reflected output channel. Operationally, the script uses Python standard-library networking (urllib, ssl) and disables TLS certificate validation, making it suitable for scanning appliances with self-signed certificates. It supports a single URL or bulk input from stdin, optional proxying, timeout and rate-limit controls, JSON reporting, and pipeline-friendly behavior by printing vulnerable URLs to stdout. The README describes a multi-step verification process with false-positive reduction, and the code snippet confirms the presence of fingerprinting logic, vulnerable-path checks, and response filtering signatures intended to distinguish real command output from normal HTML/login pages. This is not just a detector: it includes active exploitation capability via a user-provided command (--cmd), with examples such as id, uname -a, and cat /etc/passwd. Because the payload is basic but functional and directly executes attacker commands, the maturity is best classified as OPERATIONAL rather than a pure POC. No external exploit framework is used.
This repository is a small exploit repo with 3 files: a Python PoC, a Nuclei template, and a README. Because it includes a Nuclei template, it is part of a framework; the main exploit logic is captured in CVE-2026-39808.yaml, while the Python script provides a standalone implementation of the same attack chain. The exploit targets Fortinet FortiSandbox and chains an unauthenticated access check against /api/v1/system/firmware (described as CVE-2026-39813 auth bypass) with a command injection in /fortisandbox/job-detail/tracer-behavior via the jid parameter (CVE-2026-39808). The injected command writes output to /web/ng/out.txt, which is then retrieved from /ng/out.txt to confirm root-level execution. The Nuclei template fingerprints the login page, extracts version information, triggers a benign id payload, and verifies success by matching uid=0/gid=0 in the output. Overall, this is a real unauthenticated web RCE PoC for vulnerable FortiSandbox versions, providing root command execution and simple output exfiltration through a web-accessible file.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
44 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A critical operating system command injection vulnerability in FortiSandbox that could let unauthenticated attackers execute unauthorized code or commands through crafted HTTP requests.
A critical Fortinet FortiSandbox vulnerability that allows unauthenticated attackers to escalate privileges and execute unauthorized code remotely via low-complexity command injection without user interaction.
Unknown
An OS command injection vulnerability in an unspecified FortiSandbox API that allows unauthenticated code or command execution.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.