lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Tue, 29 Nov 2005 02:04:45 -0800
From: advisory@...dsecurity.com
To: bugtraq@...urityfocus.com
Subject: Webmin miniserv.pl format string vulnerability


SUMMARY.  The webmin `miniserv.pl' web server component is vulnerable to
a new class of exploitable (remote code) perl format string
vulnerabilities. During the login process it is possible to trigger this
vulnerability via a crafted username parameter containing format string
data. In the observed configuration the process was running as the user
root, so so if remote code execution is successful, it would lead to a
full remote root compromise in a standard configuration. A valid login
is not required to trigger this vulnerability, only access to the
miniserv.pl port (default 10000).

Date Found: 	September 23, 2005.
Public Release: November 29, 2005.
Application: 	webmin miniserv.pl, all known versions
Credit: 	Jack Louis of Dyad Security

BACKGROUND.  miniserv.pl is a part of the webmin system administration
front end, written in perl by Jamie Cameron. more details are available
at http://www.webmin.com.

DESCRIPTION.  The username parameter of the login form is logged via the
perl `syslog' facility in an unsafe manner during a unknown user login
attempt. the perl syslog facility passes the username on to the variable
argument function sprintf that will treat any format specifiers and
process them accordingly.

DETAILS.  The vectors for a simple DoS of the web server are to use the
%n and %0(large number)d inside of the username parameter, with the
former causing a write protection fault within perl leading to script
abortion, and the latter causing a large amount of memory to be
allocated inside of the perl process.

A generic remote code execution exploit method has been developed by a
third party that is reachable though this hole itself.

The following is the section of code in question. (from miniserv.pl)

if ($use_syslog && !$validated) {
        syslog("crit",
               ($nonexist ? "Non-existent" :
                $expired ? "Expired" : "Invalid").
               " login as $authuser from $acpthost");
        }

As can be clearly seen with this section of code, the user supplied data
is clearly within the format specification of the syslog call.

Additional information and sample work around patches can be found at
http://www.dyadsecurity.com/webmin-0001.html

LEGAL NOTICES.  
Copyright (C) 2005 Dyad Security, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of Dyad Security, Inc. If you wish to reprint the whole
or any part of this alert in any other medium other than electronically,
please email advisoryreprint@...dsecurity.com for permission.

DISCLAIMER.  The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ