Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain OPNsense account with rule management privileges
-
DeliverySubmit crafted firewall rule with JavaScript payload in description via filter API
-
ExploitPayload persists unsanitized in OPNsense configuration
-
InstallVictim administrator views Firewall Rules page
-
C2opnsense_bootgrid.js assigns raw description to innerHTML
-
ExecuteInjected script executes in victim's browser
-
ImpactExfiltrate session token to attacker-controlled endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold an authenticated OPNsense account with firewall rule creation or modification privileges (CVSS PR:L). The vulnerability is triggered through the filter API endpoint, a standard administrative interface accessible to users with that permission level. For the payload to execute, a separate authenticated OPNsense user must visit the Firewall Rules page - passive interaction (CVSS 4.0 UI:P) that occurs naturally during normal administration of the firewall. Limiting factors: fully unauthenticated exploitation is not possible; the attacker must possess a valid credential with specific rule management rights; victim interaction requires the Firewall Rules page to be loaded (not a background trigger); and the impact is bounded to session/credential theft of the viewing user rather than arbitrary OS-level command execution or data exfiltration from the host itself. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P, score 5.1 Medium) accurately reflects the exploitation constraints: network reachable, low complexity, but requiring a low-privilege authenticated account to inject and passive victim interaction for detonation. The subsequent-system impact (SC:L/SI:L) correctly captures the cross-user attack model - the direct vulnerable system is not impacted, but victim sessions are. Real-world priority is moderate rather than high: the attacker must already hold a legitimate OPNsense account with rule management rights, limiting the realistic threat to insider threat, compromised credential scenarios, or multi-tenant environments where sub-admins have firewall access. No EPSS score was provided in the input data, and the vulnerability is absent from CISA KEV, providing no signal of opportunistic or mass exploitation. The attack surface is constrained to users of the Firewall Rules page; it is not a unauthenticated RCE, and impact ceiling is session-level compromise of other administrators rather than direct OS-level control. |
| Exploit ScenarioDerived | An attacker with a low-privilege OPNsense account that has firewall rule management rights submits a firewall rule via the filter API with a JavaScript payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
Stored cross-site scripting in OPNsense before 26.1.9 allows low-privileged authenticated attackers holding firewall rule management rights to inject arbitrary JavaScript into rule description fields via the filter API, which then executes in any authenticated administrator's browser when the Firewall Rules page is loaded. Impact is limited to subsequent-system effects - session hijacking or credential theft targeting other authenticated users - rather than direct host compromise. No confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis; a vendor-released patch is available in OPNsense 26.1.9 as of June 2, 2026.
RemediationAI
Upgrade OPNsense to version 26.1.9 or later, which applies the html_safe() output-encoding fix documented in commit b11d6b340716e240868ab19a369e058a46f0876f and included in the CE 26.1.9 release at https://docs.opnsense.org/releases/CE_26.1.html#june-02-2026. For environments where immediate upgrade is not feasible, reduce the attack surface by auditing and tightening firewall rule management privilege assignments - removing rule creation/edit rights from any account that does not strictly require them eliminates the injection vector. Additionally, audit all existing firewall rule descriptions for unexpected HTML tags or script content as a precautionary incident check. There is no single configuration toggle to disable the vulnerable rendering path without removing the Firewall Rules UI entirely, so privilege restriction is the most actionable compensating control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OPNsense is an open-source FreeBSD-based firewall and routing platform developed by Deciso B.V. (CPE: cpe:2.3:a:deciso_b.v.:opnsense). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a stored XSS variant. Rule descriptions submitted via the filter API endpoint were persisted without sanitization and later echoed directly into the HTML of firewall_rules.php using PHP's short echo tag (<?=$rule->getDescr();?>). The JavaScript library opnsense_bootgrid.js then assigns this raw cell content to innerHTML, causing any embedded HTML or JavaScript to be parsed and executed by the browser. The commit fix (b11d6b340716e240868ab19a369e058a46f0876f) wraps the output with html_safe(), applying proper HTML entity encoding before rendering, preventing the browser from interpreting description text as executable code.
Know when Opnsense gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Low-privilege network attacker injects payload (PR:L, AV:N); victim must view the page (UI:R); scope changes to victim session (S:C) with low C and I; no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OPNsense before 26.1.9 contains a stored cross-site scripting vulnerability that allows authenticated attackers with firewall rule management privileges to inject arbitrary HTML or JavaScript by embedding payloads in the firewall rule description field via the filter API endpoint. The unsanitized description value is persisted and later rendered through the default cell formatter in opnsense_bootgrid.js, which assigns raw cell content to innerHTML, causing injected scripts to execute in the browser of any authenticated user who views the Firewall Rules page, enabling session hijacking or credential theft.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Insecure permissions in the configuration directory (/conf/) of OPNsense Community Edition before 23.7 and Business Edit
DECISO OPNsense 23.1 does not impose rate limits for authentication, allowing attackers to perform a brute-force attack
A command injection vulnerability in the component /api/cron/settings/setJob/ of OPNsense Community Edition before 23.7
A command injection vulnerability in the component diag_backup.php of OPNsense Community Edition before 23.7 and Busines
/ui/cron/item/open in the Cron component of OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 al
OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 was discovered to contain insecure permissions
Insecure permissions exist for configd.socket in OPNsense Community Edition before 23.7 and Business Edition before 23.4
A directory traversal vulnerability in the Captive Portal templates of OPNsense Community Edition before 23.7 and Busine
A Cross-Site Request Forgery (CSRF) in the System Halt API (/system/halt) of OPNsense Community Edition before 23.7 and
OPNsense 19.1 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject malicio
OPNsense 19.1 contains a stored cross-site scripting vulnerability in the system_advanced_sysctl.php endpoint that allow
OPNsense 19.1 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject ma
EUVD-2026-52430
GHSA-2wfc-8j3p-p6cp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB