Synopsis
While investigating and authoring a plugin for a recently disclosed open redirect weakness (NSWA-989) in Sophos Web Application that was recently patched in version 4.3.0, Tenable discovered that the same script and parameter could be used for a reflected cross-site scripting attack. The offending code can be found in ftp_redirect.php.
The disclosed open redirect is exercised by controlling the $_GET[‘s’] used to create $myself. $myself is then assigned to window.location.href which will trigger the redirect. However, the $_GET[‘s’] can also be used to trigger a reflected XSS. Unfortunately, PHP on the Sophos Web Application server is configured to escape all quotes in $_GET[‘s’]. In theory, this limits the JavaScript that we can use to carry out such an XSS attack. For example, alert(“<3”); becomes alert(\”<3\”); and would fail to execute. In reality, escaping quotes via PHP is a waste of time and it can be bypassed without much effort. We crafted a PoC that will pop up the ASCII heart for Sophos when reporting it. <3
Solution
Sophos has already released Web Protection Appliance 4.3.0 which also fixed this issue, but the XSS was not disclosed.
Sophos reintroduced the vulnerability in 4.3.1.2 and a patch was released in 4.3.2.
Additional References
http://swa.sophos.com/rn/swa/concepts/ReleaseNotes_4.3.0.htmlhttps://blogs.sophos.com/2016/10/17/now-available-sophos-web-appliance-4-3-with-new-sandstorm-features-and-more/
http://swa.sophos.com/rn/swa/concepts/ReleaseNotes_4.3.2.html
Disclosure Timeline
All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.
Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.
For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.
If you have questions or corrections about this advisory, please email [email protected]