Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate to OPNsense with certificate API access
-
DeliverySubmit XSS payload in certificate description field via trust certificate API
-
ExploitPayload persisted in OPNsense configuration
-
InstallTarget administrator opens Dashboard Certificates widget
-
C2Certificates.js interpolates raw description into HTML attribute without encoding
-
ExecuteInjected script executes in victim browser
-
ImpactSession token or credentials exfiltrated to attacker
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 | The attacker must hold a valid OPNsense account with privileges sufficient to create or modify certificates via the trust certificate API (PR:L per CVSS 4.0); unauthenticated exploitation is not possible. A victim must open the OPNsense Dashboard while authenticated, exposing the Certificates widget - this is passive interaction (UI:P) requiring no deliberate victim action beyond routine administrative use. The Dashboard Certificates widget must be present in the victim's Dashboard layout. Exploitation is bounded by the requirement for prior authenticated attacker access; however, once a payload is planted it persistently targets all authenticated Dashboard viewers regardless of their privilege level, enabling low-privilege-to-admin session escalation. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P, score 5.1) accurately captures the key risk boundaries: network-accessible exploitation, no unusual attack complexity, but requiring authenticated low-privilege access and passive victim interaction. Impact metrics reflect that the OPNsense server itself is unaffected (VC:N/VI:N/VA:N) while the subsequent system - the victim's browser session - sustains low confidentiality and integrity impact (SC:L/SI:L), consistent with session hijacking or credential theft. The stored nature of the XSS materially elevates practical risk beyond the score suggests: a single low-privilege attacker (e.g., a certificate administrator) can silently compromise all authenticated Dashboard users including administrators without further interaction. No EPSS score was supplied and the vulnerability is absent from CISA KEV, so no confirmed active exploitation is known. The critical asymmetry here is privilege escalation through the browser: a low-privilege planter can harvest high-privilege sessions, which the base CVSS score does not fully convey. |
| Exploit ScenarioDerived | An authenticated attacker holding certificate management permissions submits a new certificate via the trust certificate API with a description 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 any authenticated user with certificate management access to plant a persistent JavaScript payload via the trust certificate API's description field. Once stored, the payload executes in the browser of every authenticated user who opens the Dashboard, because Certificates.js interpolates the raw description directly into an HTML attribute template literal without output encoding. No active exploitation has been confirmed (not in CISA KEV), and a vendor-released patch is available as of OPNsense 26.1.9.
RemediationAI
Upgrade to OPNsense 26.1.9 or later; the specific code fix is available in GitHub commit 12b021ff11db38705e92ac4c9af5e07d602da6ba (https://github.com/opnsense/core/commit/12b021ff11db38705e92ac4c9af5e07d602da6ba) and the release is documented at https://docs.opnsense.org/releases/CE_26.1.html#june-02-2026. As a compensating control prior to patching, restrict certificate creation and modification permissions to the smallest possible set of highly trusted administrator accounts, which reduces the pool of users who can plant a payload; this does not eliminate risk if a permitted account is compromised. Audit existing certificate description fields for XSS indicators such as angle brackets, event handler strings, or javascript: URIs to determine whether exploitation has already occurred.
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 by Deciso B.V. (CPE: cpe:2.3:a:deciso_b.v.:opnsense). The vulnerable component is the Dashboard Certificates widget, rendered client-side via src/opnsense/www/js/widgets/Certificates.js. The root cause (CWE-79: Improper Neutralization of Input During Web Page Generation) is an unencoded JavaScript template literal interpolation: the expression data-tooltip="${type}-${item.descr}" inserted the user-supplied certificate description directly into an HTML attribute sink. Because the description is sourced from the trust certificate API and persisted in configuration, the payload survives across sessions. The fix in commit 12b021ff removes item.descr from the data-tooltip attribute entirely, eliminating the injection sink without requiring explicit encoding.
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
Network-exploitable stored XSS with scope change (S:C) as payload executes in other users' browsers; PR:L for required certificate API authentication; UI:R for victim's passive Dashboard visit.
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 to inject arbitrary HTML or JavaScript by embedding payloads in the certificate description field via the trust certificate API. The unsanitized description value is persisted and later rendered in the Dashboard Certificates widget through Certificates.js, which interpolates the raw value into HTML attribute and text content sinks without encoding, causing injected scripts to execute in the browser of any authenticated user who views the Dashboard, 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-52433
GHSA-7979-v6f7-5r6j
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB