The OpenNET Project / Index page
BSD, Linux, Cisco, Web, Palm, other unix
RUSSIAN version

Search
Новость: Новая программа: MIMEDefang - универсальный почтовый фильтр
SOFT - Unix Software catalog
LINKS - Unix resources
TOPIC - Articles from usenet
DOCUMENTATION - Unix guides
News | Tips | MAN | Forum | BUGs | LastSoft | Keywords | BOOKS (selected) | Linux HowTo | FAQ Archive

[DER #11] - Remotey exploitable fmt string bug in squid


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Date: Tue, 04 Jun 2002 02:25:18 +0000
From: david evlis reign <davidreign@hotmail.com>
To: bugtraq@securityfocus.com, vuln-dev@securityfocus.com,
Subject: [DER #11] - Remotey exploitable fmt string bug in squid

-------------------------------------------
- DAVID EVLIS REIGN SECURITY ADVISORY #11 -
-------------------------------------------

- WHAT -
Remotely Exploitable Format string Hole

- WHO -
MSNT squid auth for NtDomains

- DETAILS ON PRODUCT -
This is an authentication module for the Squid proxy server to authenticate 
users on an NT domain
It originates from the Samba and SMB packages by Andrew Tridgell and Richard 
Sharpe. This version
is sourced from the Pike authentication module by William Welliver 
(hwellive@intersil.com).
Usage is simple. It accepts a username and password on standard input and 
will return OK if the
username/password is valid for the domain, or ERR if there was some problem.
Check syslog messages for reported problems.
Msntauth is released under the GNU General Public License and is available 
from
http://stellarx.tripod.com.

- DETAILS OF EXPLOIT -
In the allowuser code of MSNT there is (cough *many buffer overflows* cough) 
a remotely
exploitable syslog() call which may under certain circumstances lead to 
remote compromisation
of the box running it (windows [1398|me|2000|xp].[1]).

code portions taken from the exploitable bit of code...

sscanf(ConnectingUser, " %s ", CUBuf); <-- i wont ask..
  sprintf(CUBuf, " %s ", CUBuf); <-- again i wont...

  for (x = 0; x <= strlen(CUBuf); x++)
      CUBuf[x] = toupper(CUBuf[x]); <-- again....

  if (strstr(AllowedUsers, CUBuf) != NULL)
     return 1;
  else                    /* If NULL, they are not allowed to use the proxy 
*/
  {
     sprintf(AllowMsg, "Denied access to user '%s'.", CUBuf); <-- my god...
     syslog(LOG_USER | LOG_ERR, AllowMsg); <-- HERE WE ARE!!!!!
     return 0;
  }

as you can see, the connectinguser sends over the data which will be held in 
the very
well bounds checked CUBuf (cough) and if they are _not_ alowed (which means 
if there name
happens to be AAAABBBB.%0.8x.%0.8x.%0.8x.%0.8x.%0.8x.%0.8x.%0.8x.%0.8x) and 
does not
pass then you are in trouble.

also to note, the same thing happens in denyuser code too :~.

- VENDOR NOTIFICATION -
n to the o

- QUICK HELLOS -
michael zalewiski, skyper, rfp, casper dik

- EXPLOIT -
a working exploit has been created but at the moment seeing this is packaged 
by _default_
with the squish caching server then everyone who uses this product could be 
at a potential risk,
therefore in keeping withe proper practice methology it shall not be 
released. yet.






_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Закладки
Добавить в закладки
Created 1996-2003 by Maxim Chirkov  
ДобавитьРекламаВебмастеруЦУПГИД  
SpyLOG TopList
RB2 Network. RB2 Network.