Description
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.
CVSS breakdown
CVSS 4.0
Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Confidentiality (Vulnerable System)
None
Integrity (Vulnerable System)
None
Availability (Vulnerable System)
None
Confidentiality (Subsequent System)
Low
Integrity (Subsequent System)
Low
Availability (Subsequent System)
None
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
Affected products
- Netgate / pfSense CE0 – 2.9.0
- Netgate / pfSense Plus0 – 26.07
References
- MISChttps://docs.netgate.com/downloads/pfSense-SA-26_10.webgui.asc
- MISChttps://docs.netgate.com/pfsense/en/latest/releases/26-07.html
- MISChttps://docs.netgate.com/pfsense/en/latest/releases/2-9-0.html
- VENDOR_ADVISORYhttps://www.vulncheck.com/advisories/pfsense-plus-ce-stored-xss-via-firewall-rules-edit-php
Updated 16m ago · 8 sources