FortiGate Overly Permissive Firewall Policy Created
This rule detects the creation or modification of a FortiGate firewall policy that permits all sources, all destinations, and all services. An overly permissive policy effectively bypasses all firewall protections. Threat actors exploiting CVE-2026-24858 have been observed creating such policies to allow unrestricted traffic flow through compromised FortiGate devices.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/01/28"
3integration = ["fortinet_fortigate"]
4maturity = "production"
5updated_date = "2026/01/28"
6
7[rule]
8author = ["Elastic"]
9description = """
10This rule detects the creation or modification of a FortiGate firewall policy that permits all sources, all
11destinations, and all services. An overly permissive policy effectively bypasses all firewall protections. Threat actors
12exploiting CVE-2026-24858 have been observed creating such policies to allow unrestricted traffic flow through
13compromised FortiGate devices.
14"""
15from = "now-9m"
16interval = "5m"
17index = ["logs-fortinet_fortigate.*"]
18language = "eql"
19license = "Elastic License v2"
20name = "FortiGate Overly Permissive Firewall Policy Created"
21note = """## Triage and analysis
22
23### Investigating FortiGate Overly Permissive Firewall Policy Created
24
25This alert indicates that a firewall policy was created or modified on a FortiGate device with source address `all`, destination address `all`, and service `ALL`. This configuration effectively disables firewall enforcement for traffic matching the policy.
26
27In the FG-IR-26-060 campaign, threat actors created these permissive policies to ensure their traffic could traverse the firewall without restriction.
28
29### Possible investigation steps
30
31- Review `source.user.name` to determine which account created or modified the policy and `fortinet.firewall.ui` for the source interface and IP address. Verify whether this administrator is authorized to make firewall policy changes.
32- Examine `fortinet.firewall.cfgattr` for the full policy configuration including interfaces, NAT settings, and scheduling. Check `fortinet.firewall.cfgobj` for the affected policy ID and determine whether the policy is positioned to intercept traffic (policy ordering matters).
33- Look for administrator account creation, SSO login events, or configuration exports preceding this change. Determine whether the administrator account itself was recently created.
34- Identify which interfaces the policy applies to (srcintf/dstintf in cfgattr) and determine whether the policy enables inbound, outbound, or both directions of unrestricted traffic.
35
36### False positive analysis
37
38- Temporary troubleshooting policies created during network diagnostics (should be time-limited and removed).
39- Initial device setup or lab environments where broad policies are intentionally configured.
40- Migration or cutover scenarios where temporary permissive rules are needed.
41
42### Response and remediation
43
44- If unauthorized, immediately delete the permissive firewall policy and audit the administrator account that created it for compromise.
45- Review all other firewall policies for unauthorized modifications and check for other indicators of compromise on the device (rogue admins, VPN users).
46- Restore the policy configuration from a known-clean backup.
47- If the activity is expected, document the business justification and ensure a removal timeline is defined. Replace with specific source/destination/service rules as soon as possible."""
48references = [
49 "https://www.fortiguard.com/psirt/FG-IR-26-060",
50 "https://www.fortinet.com/blog/psirt-blogs/analysis-of-sso-abuse-on-fortios",
51 "https://www.elastic.co/docs/reference/integrations/fortinet_fortigate",
52 "https://www.cisa.gov/news-events/alerts/2026/01/28/fortinet-releases-guidance-address-ongoing-exploitation-authentication-bypass-vulnerability-cve-2026",
53]
54risk_score = 73
55rule_id = "896a0a38-eaa0-42e9-be35-dfcc3e3e90ae"
56severity = "high"
57tags = [
58 "Use Case: Threat Detection",
59 "Tactic: Defense Evasion",
60 "Resources: Investigation Guide",
61 "Domain: Network",
62 "Data Source: Fortinet",
63 "Data Source: Fortinet FortiGate",
64]
65timestamp_override = "event.ingested"
66type = "eql"
67
68query = '''
69any where event.dataset == "fortinet_fortigate.log" and
70 event.code == "0100044547" and
71 fortinet.firewall.cfgpath == "firewall.policy" and
72 fortinet.firewall.action in ("Add", "Edit") and
73 fortinet.firewall.cfgattr like~ "*srcaddr[all]*" and
74 fortinet.firewall.cfgattr like~ "*dstaddr[all]*" and
75 fortinet.firewall.cfgattr like~ "*service[all]*"
76'''
77
78
79[[rule.threat]]
80framework = "MITRE ATT&CK"
81[[rule.threat.technique]]
82id = "T1562"
83name = "Impair Defenses"
84reference = "https://attack.mitre.org/techniques/T1562/"
85[[rule.threat.technique.subtechnique]]
86id = "T1562.004"
87name = "Disable or Modify System Firewall"
88reference = "https://attack.mitre.org/techniques/T1562/004/"
89
90
91
92[rule.threat.tactic]
93id = "TA0005"
94name = "Defense Evasion"
95reference = "https://attack.mitre.org/tactics/TA0005/"
Triage and analysis
Investigating FortiGate Overly Permissive Firewall Policy Created
This alert indicates that a firewall policy was created or modified on a FortiGate device with source address all, destination address all, and service ALL. This configuration effectively disables firewall enforcement for traffic matching the policy.
In the FG-IR-26-060 campaign, threat actors created these permissive policies to ensure their traffic could traverse the firewall without restriction.
Possible investigation steps
- Review
source.user.nameto determine which account created or modified the policy andfortinet.firewall.uifor the source interface and IP address. Verify whether this administrator is authorized to make firewall policy changes. - Examine
fortinet.firewall.cfgattrfor the full policy configuration including interfaces, NAT settings, and scheduling. Checkfortinet.firewall.cfgobjfor the affected policy ID and determine whether the policy is positioned to intercept traffic (policy ordering matters). - Look for administrator account creation, SSO login events, or configuration exports preceding this change. Determine whether the administrator account itself was recently created.
- Identify which interfaces the policy applies to (srcintf/dstintf in cfgattr) and determine whether the policy enables inbound, outbound, or both directions of unrestricted traffic.
False positive analysis
- Temporary troubleshooting policies created during network diagnostics (should be time-limited and removed).
- Initial device setup or lab environments where broad policies are intentionally configured.
- Migration or cutover scenarios where temporary permissive rules are needed.
Response and remediation
- If unauthorized, immediately delete the permissive firewall policy and audit the administrator account that created it for compromise.
- Review all other firewall policies for unauthorized modifications and check for other indicators of compromise on the device (rogue admins, VPN users).
- Restore the policy configuration from a known-clean backup.
- If the activity is expected, document the business justification and ensure a removal timeline is defined. Replace with specific source/destination/service rules as soon as possible.
References
Related rules
- First-Time FortiGate Administrator Login
- FortiGate Administrator Account Creation from Unusual Source
- FortiGate Administrator Login from Multiple IP Addresses
- FortiGate Configuration File Downloaded
- FortiGate FortiCloud SSO Login from Unusual Source