Cyber Resilience

CVE-2024-40591

Fortinet Fortios 6.4.0 – 6.4.16

Published
11 February 2025
Modified
17 July 2025
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0060 46th percentile
Risk Priority 65 floored blend · peak EPSS

Summary

CVE-2024-40591 is a high-severity Incorrect Privilege Assignment (CWE-266) vulnerability in Fortinet Fortios. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Valid Accounts (T1078); ranked at the 46th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-6 (Least Privilege) and AC-2 (Account Management) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2024-40591 is an incorrect privilege assignment vulnerability (CWE-266) in Fortinet FortiOS versions 7.6.0, 7.4.0 through 7.4.4, 7.2.0 through 7.2.9, and before 7.0.15. The issue affects FortiGate devices, where an authenticated admin with the Security Fabric permission in their access profile can escalate privileges to super-admin by leveraging a connection to a malicious upstream FortiGate under attacker control. It carries a CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), indicating high severity due to network accessibility, low complexity, and significant confidentiality, integrity, and availability impacts.

The attack requires an authenticated low-privileged administrator on the target FortiGate with Security Fabric permissions. The attacker connects the target device to another FortiGate they control as a malicious upstream device in the Security Fabric topology, enabling privilege escalation to super-admin rights. This grants full administrative control over the affected FortiGate.

Mitigation details are available in the Fortinet PSIRT advisory at https://fortiguard.fortinet.com/psirt/FG-IR-24-302.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

An incorrect privilege assignment vulnerability [CWE-266] in Fortinet FortiOS version 7.6.0, 7.4.0 through 7.4.4, 7.2.0 through 7.2.9 and before 7.0.15 allows an authenticated admin whose access profile has the Security Fabric permission to escalate their privileges to super-admin by connecting…

more

the targetted FortiGate to a malicious upstream FortiGate they control.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1078 Valid Accounts Stealth
Adversaries may obtain and abuse credentials of existing accounts as a means of gaining Initial Access, Persistence, Privilege Escalation, or Defense Evasion.
T1548 Abuse Elevation Control Mechanism Privilege Escalation
Adversaries may circumvent mechanisms designed to control privilege elevation to gain higher-level permissions.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-53744Same product: Fortinet Fortios
CVE-2019-6693Same product: Fortinet Fortios
CVE-2023-46717Same product: Fortinet Fortios
CVE-2020-12812Same product: Fortinet Fortios
CVE-2023-41841Same product: Fortinet Fortios
CVE-2024-36505Same product: Fortinet Fortios
CVE-2023-33301Same product: Fortinet Fortios
CVE-2025-53847Same product: Fortinet Fortios
CVE-2023-46714Same product: Fortinet Fortios
CVE-2024-23662Same product: Fortinet Fortios

Affected Assets

fortinet
fortios
7.6.0 · 6.4.0 — 6.4.16 · 7.0.0 — 7.0.16 · 7.2.0 — 7.2.10

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 8 hardening rules · 6 OS baselines
Validate
Prove the fix (OWASP ASVS)

Mitigating Controls (NIST 800-53 r5) AI

Least privilege directly requires that only the minimal necessary privileges are assigned to each actor.

Account management defines and authorizes the exact privileges granted to each account or role.

Enforces only the authorizations that were assigned, so correct assignment is a prerequisite.

Separation of duties constrains which privilege combinations may be assigned to any actor.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 full match
prevents

Directly enforces least-privilege policy definition, management, and review that prevents incorrect privilege assignments.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

The access-rights control governs the entire lifecycle of privilege assignment, directly eliminating incorrect assignments.

prevents

Privileged-access-rights control explicitly requires least-privilege assignment and ongoing validation, directly mitigating CWE-266.

prevents

Access control policy directly prevents incorrect privilege assignment by defining who may receive which rights.

mitigates

Segregation of duties reduces blast radius of any single incorrect privilege but does not prevent the assignment itself.

mitigates

Restricting privileged utility programs limits exposure from over-privileged accounts but does not address how privileges are assigned.

prevents

Information-access-restriction mechanisms enforce the correct privilege boundaries once assignment rules are defined.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248551 A sticky bit must be set on all OL 8 public directories to prevent unauthorized and unintended information transferred via shared system resources. prevents CWE-266
Oracle Linux 9 (1 rule)
  • V-271779 OL 9 must be configured so that a sticky bit must be set on all public directories. prevents CWE-266
RHEL 8 (1 rule)
  • V-230243 A sticky bit must be set on all RHEL 8 public directories to prevent unauthorized and unintended information transferred via shared system resources. prevents CWE-266
RHEL 9 (1 rule)
  • V-257929 A sticky bit must be set on all RHEL 9 public directories. prevents CWE-266
Ubuntu 22.04 (2 rules)
  • V-260513 Ubuntu 22.04 LTS must set a sticky bit on all public directories to prevent unauthorized and unintended information transferred via shared system resources. prevents CWE-266
  • V-260559 Ubuntu 22.04 LTS must ensure only users who need access to security functions are part of sudo group. prevents CWE-266
Ubuntu 24.04 (2 rules)
  • V-270748 Ubuntu 24.04 LTS must ensure only users who need access to security functions are part of sudo group. prevents CWE-266
  • V-270750 Ubuntu 24.04 LTS must set a sticky bit on all public directories to prevent unauthorized and unintended information transferred via shared system resources. prevents CWE-266

References