CVE-2026-58391: OPNsense: Stored XSS in Firewall Rules/NAT pages via a HTML-attribute breakout
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, Firewall Rules and NAT views place stored category names and alias descriptions into HTML title attributes in filterrule.volt and natrule.volt without quote-safe encoding. The response layer uses ENTNOQUOTES, so a double quote survives and closes the attribute, allowing an event-handler attribute to be added to the existing span. A user with Firewall Categories or Firewall Alias Edit privileges can store a category name or alias description; the category must be assigned to a filter or NAT rule, or the alias must be referenced by a rule source or destination, and the rule must be saved so the affected tooltip is rendered. Script then executes in the session of an administrator or other user who opens the affected Rules or NAT page. The script can access CSRF material and perform authenticated actions as the victim. This issue is fixed in version 26.1.11.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
OPNsenseto a version that resolves this vulnerability.Fixed in 26.1.11
Event History
Frequently Asked Questions
Who can exploit this issue, and what access do they need?
An attacker needs an account with either Firewall Categories privileges or Firewall Alias Edit privileges. They must be able to store a crafted category name or alias description.
When does the stored payload execute?
A malicious category must be assigned to a filter or NAT rule, or a malicious alias must be referenced in a rule source or destination, and the rule must be saved. The payload executes when an administrator or another user opens the affected Rules or NAT page and the tooltip is rendered.
What is the impact if an administrator views a malicious rule?
The script runs in the viewing user's authenticated session. It can access CSRF material and perform authenticated actions as that user.
How can I remediate the issue?
Upgrade OPNsense to version 26.1.11, which fixes the issue. If upgrading is not immediately possible, restrict Firewall Categories and Firewall Alias Edit privileges to trusted users and review category names and alias descriptions used by Firewall and NAT rules.