Advisory: Multiple Vulnerabilities in Quest Policy Authority for Unified Communications
Summary
During a security assessment of Quest Policy Authority for Unified Communications version 8.1.2.200, I identified thirteen vulnerabilities across the Web Compliance Manager and Web Reporter components. The vulnerabilities range from pre-authentication reflected XSS and SSRF to post-authentication stored XSS and CSRF.
Quest confirmed the product has reached end-of-life and has been unsupported for over seven years at the time of disclosure. No patches will be issued.
Affected Product: Quest Policy Authority for Unified Communications Affected Version: 8.1.2.200 Vendor Status: End-of-life, no patch forthcoming
CVE-2020-35203 - Reflected XSS in Web Compliance Manager (Pre-Auth)
Component: Web Compliance Manager - initFile.jsp
Parameter: msg
Authentication: Not required
CVSS: Medium
The initFile.jsp endpoint in the Web Compliance Manager accepts a msg parameter that is reflected in the response without sanitization.
GET /WebCM/initFile.jsp?msg=<script>alert(document.cookie)</script>
The injected script executes in the context of the application.
CVE-2020-35204 - Reflected XSS in FolderControl.jsp (Pre-Auth)
Component: Main application - FolderControl.jsp
Parameter: unqID
Authentication: Not required
CVSS: Medium
The unqID parameter in FolderControl.jsp is reflected without encoding. This vulnerability has an additional impact: injecting certain payloads causes the application to return HTTP 500 errors, and the injected content persists in the user’s session.
CVE-2020-35205 - Server-Side Request Forgery in Web Compliance Manager (Pre-Auth)
Component: Web Compliance Manager - initFile.jsp
Authentication: Not required
CVSS: High
The initFile.jsp endpoint is vulnerable to SSRF. An unauthenticated attacker can force the server to make requests to arbitrary internal hosts and ports.
Impact:
- Internal port scanning and service enumeration
- On unconfigured instances: full application takeover by directing the initial configuration to an attacker-controlled database
This is the most critical finding in this advisory. The combination of pre-authentication access and SSRF enables an attacker to map internal infrastructure without any credentials.
CVE-2020-35206 - Reflected XSS in cConn.jsp (Pre-Auth)
Component: Web Compliance Manager - cConn.jsp
Parameter: ur
Authentication: Not required
CVSS: Medium
The ur parameter in cConn.jsp is reflected in the page without proper encoding.
CVE-2020-35719 - Reflected XSS in Search (Post-Auth)
Component: Web Compliance Manager - index.jsp
Parameter: added
Authentication: Required
CVSS: Medium
The search functionality in index.jsp reflects the added parameter without sanitization. Requires a valid session.
CVE-2020-35720 - Stored XSS in User Management (Post-Auth)
Component: Web Compliance Manager - submitUser.jsp
Authentication: Required
CVSS: High
User input submitted through submitUser.jsp is stored and rendered without sanitization. This enables persistent XSS that executes when any user views the affected page. Combined with the CSRF vulnerability (CVE-2020-35722), an attacker could inject stored XSS payloads without direct authentication.
CVE-2020-35721 - Reflected XSS in BrowseAssets.do (Post-Auth)
Component: Web Reporter - BrowseAssets.do
Parameter: title
Authentication: Required
CVSS: Medium
The title parameter in the Web Reporter’s BrowseAssets.do endpoint is reflected without encoding.
CVE-2020-35722 - Cross-Site Request Forgery in User Management
Component: Web Compliance Manager - submitUser.jsp
Authentication: Victim must be authenticated
CVSS: High
The submitUser.jsp endpoint accepts user management actions (creating admin accounts, changing passwords) via GET requests with no CSRF token validation. An authenticated administrator visiting a malicious page will unknowingly execute these actions.
Impact: An attacker can create administrative accounts or change existing passwords by tricking an authenticated admin into visiting a crafted URL.
CVE-2020-35723 - Reflected XSS in ReportPreview.do (Post-Auth)
Component: Web Reporter - ReportPreview.do
Parameter: referer
Authentication: Required
CVSS: Low
The referer parameter is reflected without encoding. Exploitation requires the victim to perform multiple actions, reducing practical impact.
CVE-2020-35724 - Reflected XSS in error.jsp (Post-Auth)
Component: Web Compliance Manager - error.jsp
Parameter: err
Authentication: Required
CVSS: Medium
Error messages passed via the err parameter are rendered without sanitization.
CVE-2020-35725 - Reflected XSS in index.jsp Messages (Post-Auth)
Component: Web Compliance Manager - index.jsp
Parameter: msg
Authentication: Required
CVSS: Medium
The msg parameter on the main index.jsp page is reflected without encoding.
CVE-2020-35726 - Reflected XSS in Reports (Post-Auth)
Component: Web Compliance Manager - index.jsp Reports section
Parameter: by
Authentication: Required
CVSS: Medium
The by parameter used in the Reports section of index.jsp is reflected without encoding.
CVE-2020-35727 - Reflected XSS in BrowseDirs.do (Post-Auth)
Component: Web Reporter - BrowseDirs.do
Parameter: by
Authentication: Required
CVSS: Medium
The by parameter in the Web Reporter’s BrowseDirs.do endpoint is reflected without sanitization.
Disclosure Timeline
| Date | Event |
|---|---|
| 2020-12-09 | Reported CVE-2020-35203, 35204, 35205, 35206 to Quest |
| 2020-12-10 | Quest requested additional information; provided same day |
| 2020-12-11 | Reported 5 additional vulnerabilities to Quest |
| 2020-12-13 | Notified Quest of remaining vulnerabilities |
| 2020-12-16 | Quest confirmed product is end-of-life; no patch will be issued |
| 2020-12-16 | Public disclosure |
Recommendations
Organizations running Quest Policy Authority for Unified Communications should:
- Decommission the product immediately. The vendor has confirmed it is end-of-life with no security support.
- If immediate decommissioning is not possible, restrict network access to the Web Compliance Manager and Web Reporter interfaces to trusted management networks only.
- Monitor access logs for indicators of exploitation, particularly requests to
initFile.jspwith unusual parameters.