Faille de sécurité Linux
- return sock->ops->sendpage(sock, page, offset, size, flags);
+ return kernel_sendpage(sock, page, offset, size, flags);
Cette ligne de code corrigée par Linus lui même corrige une faille de sécurité du noyau Linux. Cette faille a été découverte par deux membres du Google Security Team (Tavis Ormandy et Julien Tinnes). Elle permet de d'élever les privilèges en espace utilisateur. Autrement dit, devenir root avec un accès classique au shell.
Les failles du noyau Linux sont corrigées de façon très secrète, sans que le public en soit averti. C'est une sécurité par l'obscurité qui a pour inconvénients de ne pas faciliter la publication de mises à jours de sécurité pour le noyau.
Brad Spengler, le développeur de grsecurity, un patch qui ajoute des fonctionnalités de sécurité au noyau linux, n'est pas d'accord avec ce fonctionnement. Et pour les deux dernières failles de sécurités, il met à disposition un outil très facile d'emploi pour les scripts kiddies.
Si sur le fond, c'est discutable (le style du gars est trollesque), c'est assez amusant dans la pratique. Sur ubuntu, de 8.04 à 9.04, cela fonctionne très facilement par exemple. Mais sur pleins d'autres distributions, c'est aussi le cas.
lorie@serveur_trop_bien:~/wunderbar_emporium$
./wunderbar_emporium.sh
dm-1: warning, user block quota exceeded.
[+] MAPPED ZERO PAGE!
[+] Resolved sel_read_enforce to 0xc01cbdbf
[+] got ring0!
[+] detected 2.6 style 8k stacks
sh: mplayer: command not found
[+] Disabled security of : SELinux
[+] Got root!
sh-3.2# whoami
root
Ce qui est amusant, et assez publicitaire, c'est qu'avec un
noyau grsecurity, cela ne fonctionne pas.
Comme quoi, la sécurité d'un système d'exploitation ne tient pas à grand chose. Amusez-vous bien :-)