palpatine@n011:~/wunderbar_emporium> ./wunderbar_emporium.sh
 [+] MAPPED ZERO PAGE!
 [+] Resolved selinux_enforcing to 0xc0613a7c
 [+] Resolved selinux_enabled to 0xc0613a78
 [+] Resolved apparmor_enabled to 0xc051e99c
 [+] Resolved apparmor_complain to 0xc06155e4
 [+] Resolved apparmor_audit to 0xc06155ec
 [+] Resolved apparmor_logsyscall to 0xc06155f0
 [+] Resolved security_ops to 0xc061224c
 [+] Resolved default_security_ops to 0xc051dde0
 [+] Resolved sel_read_enforce to 0xc01ff8e6
 [+] Resolved audit_enabled to 0xc05fba7c
 [+] got ring0!
 [+] detected 2.6 style 8k stacks
sh: mplayer: command not found
 [+] Disabled security of : LSM
 [+] Got root!
n011:~/wunderbar_emporium>
n011:~/wunderbar_emporium> whoami
root

Et histoire d'être sûr, avec un shell à côté comme témoin :

palpatine@n011:/tmp> chmod +x /dev/zero
chmod: modification des permissions de `/dev/zero': Opération non permise

n011:~/wunderbar_emporium> ls -l /dev/zero
crw-rw-rw- 1 root root 1, 5 déc.  3  2008 /dev/zero
n011:~/wunderbar_emporium> chmod +x /dev/zero
n011:~/wunderbar_emporium> ls -l /dev/zero
crwxrwxrwx 1 root root 1, 5 déc.  3  2008 /dev/zero

palpatine@n011:/tmp> ls -l /dev/zero
crwxrwxrwx 1 root root 1, 5 déc.  3  2008 /dev/zero

C'est la faille la plus sanglante que je n'aie jamais vu par son aspect généralisé (dans l'absolu, ça reste bien moins pire que la faille netbios de windaube qui permettait le contrôle à distance). Elle date du 11 août, mais n'a été dévoilée que le 14, si j'ai bien compris. Les concepteurs de l'exploit (des gars de GRsec, pas n'importe qui... Et ils règlent quelques comptes dans le code source) se sont fait plaisir pour gérer tous les kernels concernés (et désactiver une fois en ring 0 les SELinux, AppArmor et autres -- GRsec aussi, donc RSBAC ? Je le saurai dès demain), depuis le 2.4.4 au 2.6.30.4, soit une période d'un peu plus de huit ans.

Un patch concerne la dernière version, mais autant dire que dès ce lundi (manifestement les codeurs sont comme les pirates, ils prennent leur week-end), il vaut mieux espérer que les patches pour toutes les versions et toutes les distribs sortent (pour l'instant, toujours rien sur mon OpenSUSE), parce que ça risque de chier assez grave, sinon (j'ose même pas imaginer comme ça doit être le bordel au boulot... Enfin, j'espère). Du moins sur les machines sur lesquelles on est en multi-utilisateurs avec shell disponible (notamment via ssh), ce qui en fait déjà un bon paquet dans les services d'hébergement, les écoles, et les complexes militaro-industriels. Cette limitation dans l'exécution de l'exploit (disposer d'un shell, ou devoir exploiter un buffer overflow) empêche heureusement une exploitation distante "directe", comme cela était le cas en début d'année avec la faille IPv6 d'OpenBSD (paquet v6 avec entête v4 ou l'inverse, impliquant un panic du kernel).

Mais quand même...