Multiple Cross-Site Scripting (XSS) vulnerabilities were found in the pfSense WebGUI, and one CSRF issue. The "DNS Servers" fields on system.php were validated but not encoded before display. A bad value entered into a field was put back in the field unencoded while displaying input validation errors, resulting in a reflected XSS. The value was not stored. The "bandwidth" and "qlimit" fields on firewall_shaper.php were validated but not encoded before display. A bad value entered into a field was put back in the field unencoded while displaying input validation errors, resulting in a reflected XSS. The value was not stored. On status_gateways.php and system_gateways.php, some stored gateway parameters such as the Description were being printed without encoding, leading to a potential stored XSS under some conditions. The page diag_backup.php had CSRF checking disabled for all functions, including the restore function. As a result, a specially crafted attacker page could cause a logged-in administrator to upload a config.xml crafted by the attacker. Due to the lack of proper encoding on the affected variables and pages, arbitrary JavaScript can be executed in the user's browser. The user's session cookie or other information from the session may be compromised. On diag_backup.php, the firewall configuration could be altered or replaced if the administrator could be tricked into loading a specially crafted page while also logged into the firewall with the same browser session.
With Rapid7 live dashboards, I have a clear view of all the assets on my network, which ones can be exploited, and what I need to do in order to reduce the risk in my environment in real-time. No other tool gives us that kind of value and insight.
– Scott Cheney, Manager of Information Security, Sierra View Medical Center