|
_______________________________________________________________________
XAMPP - Multiple Priviledge Escalation and Rogue Autostart
_______________________________________________________________________
Ref : TZO-072006-Xampp
Author : Thierry Zoller
WWW : http://secdev.zoller.lu
Article : http://secdev.zoller.lu/research/xamp1.htm
I. Background
~~~~~~~~~~~~~
XAMPP is an easy to install Apache distribution containing MySQL, PHP
and Perl. XAMPP is really very easy to install and to use - just
download, extract and start. In the FAQ we read : Xampp is not meant
for production use but only for developers in a development
environment. However I have seen it being used in production
environments quite a lot,hence this advisory.
According to the download stats, Xampp has been downloaded 2.765.443
times between 2003 and 2006
[1] Priviledge Escaltation to SYSTEM due to FileZilla Service Path
specification - CVSS Rating : 4
[2] Priviledge Escaltation to SYSTEM due to MySQLadmin Path
specification - CVSS Rating : 4
[3] Priviledge Escaltation to SYSTEM due to CGI Path specification
- CVSS Rating : 4
[4] Rogue Autostart due to unsecure File execution
- CVSS Rating : 2.8
II. Details
~~~~~~~~~~~~~
[1] Priviledge Escaltation to SYSTEM due to FileZilla Service Path specification :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The default installation path used during installation of Xampp
1.5.2 is "c:\program files"
- The path specified in the service image is not being quoted :
As such as soon as the service is started, the Path not being quoted,
c:\program.exe is executed with NT/SYSTEM rights (The one the
filezillaftp service would have had). If we create a program named
c:\program.exe that shells NETCAT (and mysql) which spawns a shell
to a remote host, we have SYSTEM acces remotely.
[2] Priviledge Escaltation to SYSTEM due to MySQLadmin Path specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The default installation path used during installation of Xampp
1.5.2 is "c:\program files"
- The MYSSQLAdmin 1.4 console comes with a messed up configuration
file, first the "/" character instead of "\"is used to indicate
the path to the executable, furthermore the path is not quoted,
resulting in yet another priviledge escalation situation, if
the user launches the Mysql Admin console.
As the user clicks "Admin.." to launch the MySqlAdmin interface, the
Path not being quoted in the configuration file , c:\program.exe
is executed with NT/SYSTEM rights.
[3] Priviledge Escaltation to SYSTEM due to CGI Path specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The default installation path used during installation of Xampp
1.5.2 is "c:\program files"
- Apache runs as a service
- An user clicks on STATUS in the XAMMPP control panel or calls a
CGI script over http.
As the user clicks on the Status link inside the control panel
or executes a CGI program with the same path specified ,
c:\program.exe is executed with NT/SYSTEM rights if apache
runs as a service.
[4] Rogue Autostart due to unsecure File execution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The default installation path used during installation of Xampp
1.5.2 is "c:\program files"
During Startup, the installer executes the xampp control panel
through the use of the CreateProcess() function. By doing so
it omits to set the 'lpApplicationName' variable and further
omits to quote the path in the variable "lpCommandLine". Ref [1]
This results in c:\program.bat|exe|com being called prior to
xamppcontrol.exe and allows automatic startup of a potentially
rogue application.
III. Vendor Response
~~~~~~~~~~~~~~~~~~~~
http://www.apachefriends.org/en/news-article,75557.html
[06/May] Vendor Contact
[07/May] Vendor Response
[09/May] The current Windows beta fixes two of the problems based on
this bug. We expect the next beta soon which will fix all
four problems.
[10/May] The new Windows beta now fixes all problems.
IV. MISC
~~~~~~~~~~~~~~~~~~~~
[1] http://lists.grok.org.uk/pipermail/full-disclosure/2005-November/038789.html
[2] Only a real issue in Windows 2000, WinXP restricted users don't have the right to write to c:\
--
http://secdev.zoller.lu
Thierry Zoller
Fingerprint : 5D84 BFDC CD36 A951 2C45 2E57 28B3 75DD 0AC6 F1C7