Cloudanix VulnDB

CVE-2023-34992

Critical · 9.8

CVSS

9.8

EPSS

81.7%

Published

Oct 10, 2023

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Attend

A vulnerable Fortinet monitoring system can be remotely taken over, potentially letting attackers steal security data, disable alerts, and use it as a foothold into the network.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2023-34992 is a network-reachable, unauthenticated OS command injection vulnerability in Fortinet FortiSIEM API handling. A crafted API request can cause attacker-controlled input to be interpreted by the underlying operating system shell, allowing arbitrary command execution with the privileges of the FortiSIEM service process. Because the CVSS vector is AV:N/AC:L/PR:N/UI:N with high confidentiality, integrity, and availability impact, successful exploitation can enable full compromise of the FortiSIEM appliance, including command execution, data access, persistence, lateral movement support, and service disruption.

Why it matters to the business

FortiSIEM is commonly used to centralize security logs and alerting, so compromise can undermine an organization’s ability to detect attacks while also exposing sensitive security telemetry, credentials, network details, and incident response data. A successful attacker could disable monitoring, tamper with alerts, steal collected logs, pivot into connected systems, or disrupt security operations. The risk is elevated because exploitation is described as weaponized and EPSS is high, indicating a substantial likelihood of exploitation activity despite the vulnerability not being listed in CISA KEV at this time.

How an attack unfolds

An attacker first identifies an internet-facing or otherwise reachable FortiSIEM instance running an affected version: 7.0.0, 6.7.0 through 6.7.5, 6.6.0 through 6.6.3, 6.5.0 through 6.5.1, or 6.4.0 through 6.4.2. The attacker then sends a crafted API request containing shell metacharacters or command payloads in a vulnerable parameter. Because the product does not properly neutralize special characters before passing input to an OS command, the injected payload is executed by the FortiSIEM host. Initial commands are typically used to validate execution, identify the operating context, and retrieve a second-stage payload. Follow-on activity may include creating persistence, deploying web shells or agents, harvesting configuration and credential material, modifying or deleting logs, disabling security monitoring functions, and using the FortiSIEM system as a trusted foothold for internal reconnaissance or lateral movement.

How to fix it

Upgrade Fortinet FortiSIEM to a vendor-supported fixed release that is not in the affected ranges. The affected versions are FortiSIEM 7.0.0, 6.7.0-6.7.5, 6.6.0-6.6.3, 6.5.0-6.5.1, and 6.4.0-6.4.2. If exact package fixed versions are not available in local change records, confirm the current Fortinet PSIRT advisory and upgrade to the recommended patched branch for the deployed major/minor version. Until patched, restrict access to FortiSIEM API and management interfaces to trusted administrative networks only, block internet exposure, enforce network segmentation, monitor for suspicious API requests, and consider taking exposed appliances offline for forensic review before returning them to service. Because this is a command injection with weaponized exploitation, treat vulnerable externally reachable systems as high priority for emergency patching and compromise assessment.

How to confirm the fix worked

Confirm remediation by verifying the FortiSIEM version is outside the affected ranges and matches a Fortinet-supported fixed release. Validate from the product UI, CLI, package inventory, or appliance build information rather than relying only on asset records. Confirm that FortiSIEM API and administrative interfaces are not exposed to untrusted networks. Review web server, application, API, system, and audit logs around the patch window and for prior exposure periods. If a vulnerability scanner or safe vendor-provided check is available, run an authenticated version check and a non-destructive exposure test. Do not validate by sending live command-injection payloads to production systems unless approved and controlled, because exploit attempts may execute commands or destabilize the appliance.

Typical attack path

  1. Discover FortiSIEM services exposed to the internet or reachable from a compromised internal network.
  2. Fingerprint the FortiSIEM version or infer exposure based on product behavior and API responses.
  3. Send crafted unauthenticated API requests containing shell metacharacters or command-substitution syntax.
  4. Execute a simple command to confirm remote code execution, such as identity, hostname, or network-reachability checks.
  5. Download or stage additional tooling using built-in utilities such as curl, wget, Python, Perl, or shell scripts.
  6. Establish persistence through scheduled tasks, service modifications, SSH key placement, startup scripts, or backdoor accounts where possible.
  7. Collect FortiSIEM configuration, credentials, logs, network information, and alerting data.
  8. Tamper with logs or monitoring functions to hide activity and reduce detection.
  9. Use the compromised FortiSIEM host to pivot toward internal systems, security infrastructure, or log sources.

How to detect it

Investigate both network/API activity and host-level artifacts. Review FortiSIEM web, API, application, reverse-proxy, load balancer, and firewall logs for requests to FortiSIEM API paths that contain shell metacharacters such as semicolons, pipes, backticks, command substitution, URL-encoded equivalents, or commands commonly used for staging malware. Correlate suspicious requests with system logs showing unexpected process execution, outbound HTTP/HTTPS connections, DNS lookups, file writes in temporary directories, privilege changes, new accounts, SSH key additions, cron modifications, service changes, and log clearing. On the FortiSIEM host, examine shell history where available, auditd/syslog messages, process accounting, package changes, recently modified files, and unexpected binaries under temporary or web-accessible paths. Look for child processes spawned by FortiSIEM web or application components, especially shell interpreters or download utilities. If centralized logs were routed through the affected appliance, compare remote copies, endpoint telemetry, network telemetry, and backups because an attacker may have tampered with local FortiSIEM logs. High-risk signs include API requests followed immediately by outbound connections to unknown hosts, execution of curl/wget/bash/sh/python/perl, creation of persistence mechanisms, or gaps in FortiSIEM logging around suspicious access.

  • /phoenix/rest/
  • ;wget
  • ;curl
  • |wget
  • |curl
  • `wget
  • `curl
  • $(wget
  • $(curl
  • %3bwget
  • %3bcurl
  • %7cwget
  • %7ccurl
  • %60wget
  • %60curl
  • %24%28wget
  • %24%28curl
  • /bin/sh -c
  • /bin/bash -c
  • bash -c
  • sh -c
  • curl -o
  • curl -O
  • wget -O
  • chmod +x
  • /tmp/
  • /var/tmp/
  • /dev/shm/
  • nohup
  • crontab -e
  • /etc/crontab
  • /etc/cron.d/
  • authorized_keys
  • nc -e
  • ncat -e
  • python -c
  • perl -e

What your security team should do

  • Immediately inventory all Fortinet FortiSIEM deployments and identify versions 7.0.0, 6.7.0-6.7.5, 6.6.0-6.6.3, 6.5.0-6.5.1, and 6.4.0-6.4.2.
  • Prioritize emergency upgrade of any FortiSIEM instance reachable from the internet, partner networks, VPN user segments, or less-trusted internal networks.
  • Restrict FortiSIEM API and management access to dedicated administrative networks and enforce firewall or reverse-proxy controls.
  • Perform compromise assessment on vulnerable systems before or immediately after patching, especially if they were externally reachable.
  • Search historical logs for suspicious API requests containing command-injection metacharacters, command substitution, download commands, or encoded payloads.
  • Review FortiSIEM host artifacts for unexpected users, SSH keys, cron jobs, modified startup scripts, new binaries, suspicious outbound connections, and deleted or truncated logs.
  • Rotate credentials and API tokens stored on or accessible from FortiSIEM if compromise is suspected, including credentials used to collect logs from other systems.
  • Increase monitoring for lateral movement from FortiSIEM appliances to internal assets and security infrastructure.
  • Create SIEM detections for suspicious FortiSIEM API traffic and unexpected child processes spawned by web or application service accounts.
  • Preserve forensic images and logs before rebuilding any appliance believed to have been exploited.

The record

A improper neutralization of special elements used in an os command ('os command injection') in Fortinet FortiSIEM version 7.0.0 and 6.7.0 through 6.7.5 and 6.6.0 through 6.6.3 and 6.5.0 through 6.5.1 and 6.4.0 through 6.4.2 allows attacker to execute unauthorized code or commands via crafted API requests.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities