Summary
A stored cross-site scripting (XSS) vulnerability in FreePBX allows a low-privileged User Control Panel (UCP) user to inject malicious JavaScript into the system. This code executes in the context of an administrator when they interact with the affected component, leading to session hijacking and potential privilege escalation.
Details
The vulnerability exists within the UCP's Contact Manager widget. Specifically, when a UCP user adds a new "Group" and includes a JavaScript payload in the name field, the input is not properly sanitized or escaped.
When this malicious group name is saved:
- It immediately triggers in the UCP session.
- It also persists and is rendered in the administrative interface under
http://[SERVER-IP]/admin/config.php?display=contactmanager
when an admin clicks the "Private" tab and attempts to "Add Contact", causing the XSS to fire in the admin's browser.
This could allow attackers to steal PHPSESSID
cookies or perform actions on behalf of the administrator.
Impact
This is a stored XSS vulnerability. It allows a low-privileged user to execute JavaScript in an admin's browser, leading to:
- Session hijacking via
PHPSESSID
theft
- Privilege escalation
- Arbitrary JavaScript execution
Mitigation
Users running affected versions should immediately upgrade to the latest version of UCP and inspect their UCP Contact Groups for suspicious JavaScript.
History
This bug appears to date from only a couple of months after the beginning of the module in 2014:
FreePBX/contactmanager@55abba0
Summary
A stored cross-site scripting (XSS) vulnerability in FreePBX allows a low-privileged User Control Panel (UCP) user to inject malicious JavaScript into the system. This code executes in the context of an administrator when they interact with the affected component, leading to session hijacking and potential privilege escalation.
Details
The vulnerability exists within the UCP's Contact Manager widget. Specifically, when a UCP user adds a new "Group" and includes a JavaScript payload in the name field, the input is not properly sanitized or escaped.
When this malicious group name is saved:
http://[SERVER-IP]/admin/config.php?display=contactmanager
when an admin clicks the "Private" tab and attempts to "Add Contact", causing the XSS to fire in the admin's browser.This could allow attackers to steal
PHPSESSID
cookies or perform actions on behalf of the administrator.Impact
This is a stored XSS vulnerability. It allows a low-privileged user to execute JavaScript in an admin's browser, leading to:
PHPSESSID
theftMitigation
Users running affected versions should immediately upgrade to the latest version of UCP and inspect their UCP Contact Groups for suspicious JavaScript.
History
This bug appears to date from only a couple of months after the beginning of the module in 2014:
FreePBX/contactmanager@55abba0