CVE-2026-25089: Fortinet FortiSandbox OS Command Injection Vulnerability
Fortinet FortiSandbox products are vulnerable to an unauthenticated OS command injection (CVE-2026-25089). This critical flaw allows remote attackers to execute arbitrary commands via crafted HTTP requests. Active exploitation has been observed, making immediate patching crucial for affected organizations.
| IP | 193.8.187.42 |
| IP | 85.11.187.8 |
| MD5 | 7f74bb6ba185978134c318bc5f91d23c |
| SHA1 | 268a8420b791df46380ed9ad69905207e15d8a7c |
| SHA256 | 2758f4d71a2a2dfdefab81737c2d776b2a3dafe5844fdd2157e089a28447ca98 |
| SHA256 | 479ae5fd7274439ddfa27bc03298ebfdfc5ff17f6412acccf74d4dbd90d94218 |
| SHA256 | 874bcb1c3d050a5b5b333a2198f504fcb27927c2abdd43b07440188a380c52d5 |
| SHA256 | 38353f95fff270f4e3a9d7add8c64666020dd668ce66e15969a736ec48cadc59 |
| SHA256 | 4253dd1a4c0867b0be7732f75b2f630cebfb7fed94270e15fb3b12ae40546d01 |
| SHA256 | 9eaa577c8ba71646928c1c34c3145536b0498f65f26060a6ba00744bcef57644 |
Overview
CVE-2026-25089 is a critical OS command injection vulnerability affecting Fortinet FortiSandbox, FortiSandbox Cloud, and FortiSandbox PaaS. This flaw allows unauthenticated attackers to execute arbitrary commands on the underlying system by sending specially crafted HTTP requests. Given its high severity (CVSS 9.8) and confirmed active exploitation, organizations utilizing affected FortiSandbox products are at immediate risk of compromise.
Technical Analysis
- Vulnerability: Improper neutralization of special elements used in an OS command (‘OS Command Injection’) (CWE-78).
- Impact: Unauthenticated remote code execution (RCE).
- Attack Vector: Network (AV:N). Exploitation occurs via specifically crafted HTTP requests.
- Authentication: Not required (PR:N).
- User Interaction: Not required (UI:N).
- Affected Products and Versions:
- Fortinet FortiSandbox versions
4.2.0through4.2.8 - Fortinet FortiSandbox versions
4.4.0through4.4.8 - Fortinet FortiSandbox versions
5.0.0through5.0.5 - Fortinet FortiSandbox Cloud versions
5.0.4through5.0.5 - Fortinet FortiSandbox PaaS versions
5.0.4through5.0.5
- Fortinet FortiSandbox versions
- CVSS 3.1 Score: 9.8 (CRITICAL) –
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Detection
- Monitor FortiSandbox web server logs for unusual HTTP request patterns, especially in URI paths or POST body parameters, that may indicate command injection attempts (e.g.,
&,|,;,`,$(),&&,||followed by system commands). - Look for unexpected process creation originating from the FortiSandbox application’s user or web server process. This could include
sh,bash,cmd.exe,powershell.exe,python,perl,wget,curl,nc,ncat,tftp, or other uncommon binaries. - Monitor network egress from FortiSandbox appliances for connections to suspicious external IP addresses or domains, indicative of command and control (C2) or data exfiltration.
- Hunt for new or modified files in web root directories or system binaries that could indicate webshell deployment or persistence mechanisms.
Sigma Detection Rules
FortiSandbox OS Command Injection – Suspicious Process Spawn (Linux)
title: FortiSandbox OS Command Injection - Suspicious Process Spawn (Linux)
id: 0c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f
status: experimental
description: Detects suspicious process creation originating from common web server processes, indicative of successful OS command injection on a Linux-based system like FortiSandbox.
logsource:
product: linux
service: auditd
detection:
selection_parent:
ParentImage|endswith:
- '/usr/sbin/httpd'
- '/usr/sbin/nginx'
- '/usr/sbin/apache2'
- '/usr/bin/uwsgi'
- '/usr/bin/gunicorn'
- '/usr/bin/php-fpm'
- '/opt/fortinet/fortisandbox/bin/webserver' # Placeholder, actual path might vary
selection_child:
Image|endswith:
- '/bin/sh'
- '/bin/bash'
- '/usr/bin/wget'
- '/usr/bin/curl'
- '/usr/bin/python'
- '/usr/bin/perl'
- '/usr/bin/nc'
- '/usr/bin/ncat'
- '/usr/bin/tftp'
- '/usr/bin/socat'
condition: selection_parent and selection_child
level: high
FortiSandbox Web Log – OS Command Injection Attempt
title: FortiSandbox Web Log - OS Command Injection Attempt
id: 1a2b3c4d-5e6f-7a8b-9c0d-e1f2a3b4c5d6
status: experimental
description: Detects common OS command injection patterns in web server access logs, targeting FortiSandbox appliances.
logsource:
category: webserver
service: fortisandbox_web_access # Custom service for FortiSandbox web logs
detection:
selection:
cs-uri-query|contains:
- '&id='
- '|id='
- ';id='
- '`id='
- '$('
- '`'
- '&&'
- '||'
- 'uname'
- 'whoami'
- 'cat /etc/passwd'
- 'ls -la'
- 'wget '
- 'curl '
- 'nc -e '
- 'bash -c '
condition: selection
level: medium
Mitigations
- Patch Immediately: Apply the latest security updates provided by Fortinet for FortiSandbox, FortiSandbox Cloud, and FortiSandbox PaaS. Refer to the vendor advisory
FG-IR-26-141for specific patch versions. - Network Segmentation: Isolate FortiSandbox appliances on a dedicated network segment with strict ingress/egress filtering to limit potential lateral movement in case of compromise.
- Restrict Access: Limit administrative access to FortiSandbox interfaces to trusted IP addresses and enforce strong authentication mechanisms.
- Monitor Logs: Ensure comprehensive logging is enabled for FortiSandbox appliances and integrate logs with a SIEM for real-time monitoring and alerting.
References
- https://fortiguard.fortinet.com/psirt/FG-IR-26-141
- https://nvd.nist.gov/vuln/detail/CVE-2026-25089
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-25089
- https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/
- https://kudelskisecurity.com/research/fortinet-fortibleed-global-compromise-active-exploitation-of-fortinet-vulnerabilities
Indicators of Compromise
| Type | Value | Description |
|---|---|---|
| SHA256 | 2758f4d71a2a2dfdefab81737c2d776b2a3dafe5844fdd2157e089a28447ca98 |
SHA-256 hash of CyberStrike Harvester v1.5 (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA256 | 38353f95fff270f4e3a9d7add8c64666020dd668ce66e15969a736ec48cadc59 |
SHA-256 hash of ad_enum.py (LDAP enumeration tooling) (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA256 | 4253dd1a4c0867b0be7732f75b2f630cebfb7fed94270e15fb3b12ae40546d01 |
SHA-256 hash of backup_dfs.py (SMB/DFS triage collection) (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA256 | 479ae5fd7274439ddfa27bc03298ebfdfc5ff17f6412acccf74d4dbd90d94218 |
SHA-256 hash of bot.py (Telegram Hashcat bot) (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA256 | 874bcb1c3d050a5b5b333a2198f504fcb27927c2abdd43b07440188a380c52d5 |
SHA-256 hash of ad_full_audit.py (LDAP/AD audit tooling) (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA256 | 9eaa577c8ba71646928c1c34c3145536b0498f65f26060a6ba00744bcef57644 |
SHA-256 hash of backup_dfs2.py (SMB/DFS full/incremental collection) (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| SHA1 | 268a8420b791df46380ed9ad69905207e15d8a7c |
GNU Build ID for CyberStrike Harvester (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| MD5 | 7f74bb6ba185978134c318bc5f91d23c |
MD5 hash of CyberStrike Harvester v1.5 (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| IP Address | 193.8.187.42 |
SSH exfiltration/staging server (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
| IP Address | 85.11.187.8 |
Hashtopolis/API endpoint (via https://arcticwolf.com/resources/blog/inside-fortibleed-reverse-engineering-the-cyberstrike-harvester-behind-a-global-fortigate-credential-factory/) |
MITRE ATT&CK
T1190— Exploit Public-Facing ApplicationT1059.004— Unix ShellT1133— External Remote ServicesT1539— Steal Web Session CookieT1087.002— Domain AccountT1069.002— Domain GroupsT1119— Automated CollectionT1040— Network SniffingT1135— Network Share DiscoveryT1558.004— AS-REP RoastingT1552— Unsecured CredentialsT1021.002— SMB/Windows Admin SharesT1602.002— Network Device Configuration DumpT1110.003— Password SprayingT1020— Automated ExfiltrationT1552.001— Credentials In FilesT1048.002— Exfiltration Over Asymmetric Encrypted Non-C2 ProtocolT1039— Data from Network Shared DriveT1078— Valid AccountsT1110.004— Credential StuffingT1018— Remote System DiscoveryT1046— Network Service DiscoveryT1558.003— KerberoastingT1110— Brute ForceT1110.002— Password CrackingT1595— Active Scanning
Generated by
gemini-2.5-flash ·2,278 input / 1,824 output tokens ·
Reviewed and approved by a human analyst before publication