SpiderLabs Blog

CVE-2024-55591: Fortinet FortiOS/FortiProxy Zero Day

Written by | Jan 14, 2025 7:01:51 PM

In late November and December 2024, Arctic Wolf observed evidence of a mass compromise of Fortinet FortiGate. While the initial attack vector was unknown at the time, evidence of compromise (with new users and SSL profiles) was consistent across compromised devices.

On January 14, Fortinet released a formal statement and patch. The vulnerability is an Authentication Bypass via crafted requests to Node.js websocket module and issued CVE-2024-55591. The CVSSv3 score is 9.6.

 

Overview

  • A specially crafted Node.js response sent to the FortiGate management port allows an attacker to gain super-admin privileges.
  • After access is acquired, the attackers leverage the Fortinet CLI as 'jsconsole'
  • 'jsconsole' is audited by IP address
  • Attackers use loopback and other IPs with the '–userfrom' switch destroying the audit record

 

Affected Versions

  • FortiOS version 7.0.0 through 7.0.16
  • FortiProxy version 7.0.0 through 7.0.19 and 7.2.0 through 7.2.12

 

IOCs

Following login activity log with random scrip and dstip:

type="event" subtype="system" level="information" vd="root" logdesc="Admin login successful" sn="1733486785" user="admin" ui="jsconsole" method="jsconsole" srcip=1.1.1.1 dstip=1.1.1.1 action="login" status="success" reason="none" profile="super_admin" msg="Administrator admin logged in successfully from jsconsole"

Following admin creation log with seemingly randomly generated username and source IP:

type="event" subtype="system" level="information" vd="root" logdesc="Object attribute configured" user="admin" ui="jsconsole(127.0.0.1)" action="Add" cfgtid=1411317760 cfgpath="system.admin" cfgobj="vOcep" cfgattr="password[*]accprofile[super_admin]vdom[root]" msg="Add system.admin vOcep"

The following IP addresses were those mostly used by attackers in the above logs (Please note that IP address is under attacker control and therefore can be any other IP):

  • 1.1.1.1
  • 127.0.0.1
  • 2.2.2.2
  • 8.8.8.8
  • 8.8.4.4

 

Mitigations

First, shut down the management port for HTTP/HTTPS and analyze your logs for the existing IoCs, as well as anomalous SSL profiles. This may indicate an existing compromise requiring Incident Response.

If you do not believe you are currently compromised, apply the appropriate immediately possible. Fortinet has instructions for upgrade on their website.

  • FortiOS version 7.0.0 through 7.0.16: Upgrade to 7.0.16 or above
  • FortiProxy version 7.0.0 through 7.0.19: Upgrade to 7.0.20 or above
  • FortiProxy version 7.2.0 through 7.2.12: Upgrade to 7.2.13 or above

If you are unable to apply the patch immediately, we recommend:

  • If the Fortinet device's management port is exposed to the Internet, shut it down.
  • If it's required for operations, use ACLs to limit what IP addresses can access the port. This can be done directly on the Fortinet device via the "my_allowed_addresses" configuration setting (more details on Fortinet’s site).
  • Make sure that you are monitoring all connections to the device and audit logging for the device is turned on.

Trustwave is not vulnerable to this issue. Trustwave will continue to monitor this developing situation, and we remain on standby for our clients to provide further details as more information becomes available.