Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to pfSense UI as low-privilege admin
-
DeliveryCraft XSS payload in rule description field
-
ExploitSubmit malicious rule via /firewall_rules_edit.php
-
ExecutionPayload persists in config.xml without HTML sanitization
-
PersistHigher-privilege admin views /status_logs_filter.php
-
ImpactPayload executes in victim's browser session
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 be authenticated to the pfSense web UI and hold the explicitly granted 'Firewall: Rules: Edit' privilege - this is a non-default, administrator-assigned role. Payload execution requires a second, separately authenticated user holding the 'Status: Logs: Firewall' privilege to view the firewall log table at |
| Impact | The CVSS 4.0 score of 5.1 (Medium) accurately captures the constrained exploitation path: the attacker must be authenticated with the specific 'Firewall: Rules: Edit' privilege (PR:L), and payload execution requires a second privileged victim with 'Status: Logs: Firewall' access to view the log table (UI:P). The impact is confined to the victim's browser session - SC:L and SI:L in CVSS 4.0 terms - with no direct compromise of the pfSense system itself. In multi-administrator deployments relying on role-based privilege separation, this represents a meaningful lateral-escalation path: a lower-privileged operator can target a higher-privileged administrator's session to steal tokens or perform admin actions on their behalf. In single-admin deployments, no meaningful privilege boundary exists to cross, reducing real-world impact significantly. No EPSS score is provided in the input data, no CISA KEV listing exists, and no public PoC has been identified. The risk is real but narrow: it matters most in organizations that delegate pfSense management across multiple accounts with differing trust levels. |
| Exploit ScenarioDerived | An attacker with a lower-privileged pfSense account holding 'Firewall: Rules: Edit' access creates a firewall rule whose description contains a JavaScript payload (e.g., a cookie-stealing script) via |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 03, 2026
Stored cross-site scripting in pfSense Plus and pfSense CE allows an authenticated attacker holding the 'Firewall: Rules: Edit' privilege to inject arbitrary JavaScript via the descr parameter in /firewall_rules_edit.php. The injected payload is written to the pfSense XML configuration with only backslash-escaping applied and no HTML sanitization, then rendered unencoded in the firewall log table at /status_logs_filter.php, executing in the browser of any administrator holding the 'Status: Logs: Firewall' privilege who views the affected entries. Patches are available in pfSense Plus 26.07 and pfSense CE 2.9.0; no public exploit or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade pfSense Plus to version 26.07 or later, or pfSense CE to version 2.9.0 or later; Netgate release notes confirm these as the fixing versions at https://docs.netgate.com/pfsense/en/latest/releases/26-07.html and https://docs.netgate.com/pfsense/en/latest/releases/2-9-0.html. If an immediate upgrade is not feasible, restrict the 'Firewall: Rules: Edit' privilege to only fully trusted administrators - collapsing the privilege boundary between rule editors and log viewers eliminates the cross-privilege escalation path, though it reduces the granularity of role delegation. As a supplementary measure, audit existing firewall rule descriptions for suspicious content (script tags, event handlers, encoded payloads) and remove any identified payloads from config.xml. Note that reducing privilege delegation may impact operational workflows for teams using segregated firewall management roles.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
pfSense is a FreeBSD-based open-source firewall and router platform distributed as pfSense Plus (commercial, Netgate-supported) and pfSense CE (community edition), both sharing the same PHP web UI codebase. Both editions are affected per CPE cpe:2.3:a:netgate:pfsense_plus and cpe:2.3:a:netgate:pfsense_ce. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): firewall rule descriptions submitted via the descr parameter are stored in config.xml with only backslash-escaping - a defense insufficient against HTML injection - and are later read back and inserted into the HTML of /status_logs_filter.php without any output encoding. This creates a classic stored XSS sink where attacker-controlled data from one page is reflected into a separate privileged page viewed by a different user.
Know when Pfsense Plus 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 auth required (PR:L), victim must view log page (UI:R), impact crosses to victim's browser session (S:C), no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
pfSense Plus before 26.07 and CE before 2.9.0 allow authenticated users with the Firewall: Rules: Edit privilege to inject arbitrary JavaScript via the descr parameter in /firewall_rules_edit.php. The firewall rule description is stored in the pfSense XML configuration with only backslash-escaping applied and no HTML sanitization, then rendered without encoding in the firewall log table in /status_logs_filter.php. The payload executes in the browser of any user with the Status: Logs: Firewall privilege who views the affected log entries.
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.
More in Pfsense Plus
View allThe SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Improper restriction of excessive authentication attempts in the SSHGuard component of Netgate pfSense Plus software v22
PHP code execution on Netgate pfSense Plus and pfSense CE firewalls can be achieved by an authenticated, highly privileg
Netgate pfSense CE (prior to 2.8.0 beta release) and corresponding Plus builds is vulnerable to Cross-site scripting (XS
An issue in Netgate pfSense Plus v.23.05.1 and before and pfSense CE v.2.7.0 allows a remote attacker to execute arbitra
An issue in Netgate pfSense v.2.7.0 allows a remote attacker to execute arbitrary code via a crafted request to the inte
Improper access control vulnerability in pfSense CE and pfSense Plus (pfSense CE software versions prior to 2.6.0 and pf
Improper input validation vulnerability in pfSense CE and pfSense Plus (pfSense CE software versions prior to 2.6.0 and
Stored cross-site scripting in pfSense Plus (before 26.07) and pfSense CE (through 2.8.1) allows an external attacker wh
Stored cross-site scripting in pfSense Plus before 26.07 and CE before 2.9.0 allows an authenticated attacker holding th
Stored XSS in pfSense Plus before 26.07 and pfSense CE before 2.9.0 allows an authenticated user holding only the Status
Netgate pfSense CE (prior to 2.8.0 beta release) and corresponding Plus builds are vulnerable to command injection in th
EUVD-2026-70496
GHSA-3c8g-23wp-3mx8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB