The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


NULL byte writing in Emerald, RadiusNT/X and Air Marshal


<< Previous INDEX Search src / Print Next >>
Date: Fri, 8 Feb 2008 22:25:07 +0100
From: Luigi Auriemma <aluigi@autistici.org.>
To: bugtraq@securityfocus.com, bugs@securitytracker.com,
Subject: NULL byte writing in Emerald, RadiusNT/X and Air Marshal
Message-Id: <20080208222507.27b1a729.aluigi@autistici.org.>
X-Mailer: 
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: antivirus-gw at tyumen.ru


#######################################################################

                             Luigi Auriemma


Application:  Configuration web server integrated in Emerald,
              RadiusNT/X and Air Marshal
              http://www.iea-software.com
Versions:     Emerald <= 5.0.49
              RadiusNT and RadiusX <= 5.1.38
              Radius test client <= 4.0.20
              Air Marshal version <= 2.0.4
Platforms:    Windows, FreeBSD, Linux and Solaris
Bug:          writing of a NULL byte in the memory
Exploitation: remote
Date:         08 Feb 2008
Author:       Luigi Auriemma
              e-mail: aluigi@autistici.org
              web:    aluigi.org


#######################################################################


1) Introduction
2) Bug
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


All the products developed by IEA Software use some web servers for the
remote administration of the services.
The following are the programs which run this web interface and the
ports on which they listen:
- emerwebsrv, 80 and 443
- portald, 81
- schedule, 8010
- radadmn, 8011
- emerdap, 8012
- syslogd, 8013
- eaadmn, 8014
- emernet, 8018
- radlogin, 8020
- possibly others


#######################################################################

======
2) Bug
======


For each HTTP POST request the configuration web server starts the
receiving of the client's data using a heap buffer which automatically
increases its size through realloc.
When the data received is major than the integer value specified in
Content-Length it stops the operation and places a NULL byte at the end
of the data for delimiting it.

The problem is that using a negative Content-Length value forces the
server to place this 0x00 byte in a location of the memory which goes
from heap_buffer+http_header+0x80000000 to
heap_buffer+http_header+0xffffffff allowing an attacker to crash the
server or placing this byte in a better location which could give him
other possibilities of attack.


#######################################################################

===========
3) The Code
===========


http://aluigi.org/poc/emerdal.txt

  nc SERVER PORT -v -v < emerdal.txt


#######################################################################

======
4) Fix
======


No fix


#######################################################################


--- 
Luigi Auriemma
http://aluigi.org


<< Previous INDEX Search src / Print Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру