Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as certmanager-privileged user
-
DeliveryStore HTML payload in certificate description
-
ExploitAdmin opens System Settings Administration
-
ExecutionScript executes in admin's session
-
ImpactHijack session and perform admin actions
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 | Requires a deployment with more than one user account: the attacker must hold the page-system-certmanager privilege to create/edit a certificate and inject HTML metacharacters into its description field. Exploitation only triggers when a separate, typically higher-privileged user navigates to the System Settings > Administration page, which renders the unescaped descr in the SSL Certificate selector (required user interaction, UI:R). Limited to OPNsense core versions prior to 26.1.11; single-admin deployments or those not provisioning the certmanager privilege to untrusted users are not realistically exposed. Authentication is required (CVSS PR:H confirms a high-privilege account). |
| Impact | This is a stored (persistent) cross-site scripting flaw (CWE-79) rated CVSS 5.2 (Medium). The vector CVSS:3.1/AV:N/AC:L/PR:H/UI:R is self-limiting on two independent axes: PR:H means the attacker must already hold the page-system-certmanager privilege (a high-trust role that can manage certificates), and UI:R means a second victim user must actively open System Settings > Administration for the payload to fire. No EPSS score, KEV listing, SSVC decision data, or public POC was supplied, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the only external signals are the vendor GHSA advisory and the fix commits. The practical risk is therefore a privilege-escalation/lateral-trust-abuse primitive: a lower-trust certificate operator can target a higher-privileged administrator, which matters because OPNsense is a firewall and admin-session compromise is high-value. Note a nuance to verify: the vendor assigns C:H while classic stored XSS impact is typically C:L/I:L - the C:H likely reflects that script running in an admin's authenticated firewall session can read sensitive configuration, so the elevated confidentiality rating is defensible but worth confirming against the GHSA. Overall this is a genuine but conditional issue (insider/multi-operator deployments), not an internet-facing mass-exploitation priority. |
| Exploit ScenarioDerived | In an OPNsense deployment with multiple operators, a user holding only the page-system-certmanager privilege creates or edits a certificate and embeds HTML/JavaScript metacharacters in the certificate description field. When a firewall administrator later opens System Settings > Administration, the SSL Certificate selector renders the unescaped descr value and the attacker's script executes in the administrator's authenticated session. No public exploit code was provided, but the one-line fix commit (adding legacy_html_escape_form_data($a_cert)) makes the injection point trivially reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Stored cross-site scripting in OPNsense core prior to 26.1.11 lets a user who holds the page-system-certmanager privilege inject HTML metacharacters into a certificate description field, and that markup is later rendered unescaped in the SSL Certificate selector on System Settings > Administration, executing in the browser session of any other user who opens that page. Exploitation requires a multi-user deployment and deliberate victim interaction (CVSS 3.1 base 5.2, Medium; vendor vector AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:L/A:N, with the independent assessment treating the impact as scope-changing and limited to low confidentiality/integrity), and the attacker must already be authenticated with a high-privilege account. No confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis; the flaw is resolved by upgrading to OPNsense 26.1.11.
RemediationAI
Vendor-released patch: OPNsense 26.1.11 - upgrade the core package to that version (or later) via the normal OPNsense update mechanism, which is the only complete fix and requires no configuration changes. If immediate upgrade is not possible, the upstream fixes can be applied as a manual edit: add legacy_html_escape_form_data($a_cert); before the certificate selector is rendered in src/www/system_advanced_admin.php, matching commit 9d0a590e9c49f4374a5539929b366123f63bc9eb (companion change adcb02f8f68071e636bf9660b2cb8d0229f34674); the trade-off is that manual patching of a firewall GUI is unsupported, can be overwritten by the next update, and must be re-verified after every upgrade. As a risk-reduction measure until patching, restrict the page-system-certmanager privilege to genuinely trusted administrators and avoid delegating certificate management to semi-trusted or non-administrative accounts - this eliminates the injection path entirely but removes those users' ability to create or edit certificates. Note that single-admin deployments are not realistically exposed, since the same account would both plant and trigger the payload, and blocking remote access to the web GUI while the patch is pending reduces the attack surface but impedes legitimate administration. Additional detail is available in advisory GHSA-8pgr-x852-qx4j.
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 a FreeBSD-based firewall and routing platform whose management GUI is implemented as PHP pages; the affected file is src/www/system_advanced_admin.php. The page loads the certificate list into the PHP array $a_cert and then renders each certificate's descr value as an option label in the SSL Certificate selector, but the fix diff shows that $a_cert was never passed through the framework's legacy_html_escape_form_data() helper before output - only that single escaping call was added (commit 9d0a590e9c49f4374a5539929b366123f63bc9eb, with a companion commit adcb02f8f68071e636bf9660b2cb8d0229f34674). Because the certificate description field accepts HTML metacharacters and is persisted, the omission produces a stored/persistent cross-site scripting condition classed as CWE-79; the payload is stored via the certificate manager and detonated in another user's session when the Administration page is viewed. The CPE cpe:2.3:a:opnsense:core:*:*:*:*:*:*:*:* confirms the issue is in the OPNsense core package across releases before 26.1.11 rather than in a plugin, and the assessed scope change reflects that script executes with the privileges of the victim's administration session rather than the attacker's.
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
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:L/A:N
Stored XSS requires the certmanager privilege (PR:H) and a victim opening the page (UI:R); payload executes in the victim's browser, a different security scope (S:C), with limited C/I and no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, src/www/system_advanced_admin.php reads certificate records into $a_cert but omits that array from legacy_html_escape_form_data() before rendering each certificate descr value in the SSL Certificate selector. The certificate description accepts HTML metacharacters, allowing a user with the page-system-certmanager privilege to store markup that executes when another user opens System Settings Administration. This issue is fixed in version 26.1.11.
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-102135
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB