Faille critique "WallEscape" dans Linux - Vos mots de passe en danger
Saviez-vous qu’une faille de sécurité plus vicieuse qu’un boss de fin de niveau est tapie dans les entrailles de notre cher Linux depuis plus d’une décennie ? Et attention, on ne parle pas d’un vulgaire bug qui fait planter votre distrib’ préférée, non non. Cette saleté, baptisée “WallEscape” par Skyler Ferrante, un chercheur en sécurité un peu barré (on y reviendra), permet ni plus ni moins à un petit malin de vous subtiliser votre précieux mot de passe Admin !
Tout commence avec une commande anodine appelée “wall”, présente dans le package util-linux. Son petit boulot à elle, c’est d’envoyer des messages à tous les utilisateurs connectés sur une même machine. Jusque-là, rien de bien méchant, vous me direz.
Sauf que voilà, un beau jour, ou plutôt un sale jour de 2013, un commit un peu foireux est venu s’immiscer dans le code de wall tel un cheveu sur la soupe. Depuis, cette brebis galeuse s’est gentiment propagée dans toutes les versions de util-linux, tel un virus informatique qui s’ignore.
Mais qu’est-ce qu’il y avait de si terrible dans ce ce commit ? Eh bien, pour faire simple, le dev qui l’a poussé, a tout bonnement oublié de filtrer correctement les fameuses “escape sequences” dans les arguments de la ligne de commande. Résultat des courses : un petit malin un peu bricoleur peut maintenant s’amuser à injecter tout un tas de caractères de contrôle pour faire des trucs pas très catholiques sur votre terminal.
Et c’est là que notre ami chercheur en sécurité dont je vous parlais au début de l’article, entre en scène. Armé de sa curiosité légendaire et de son sens de l’humour douteux, il a flairé le potentiel de la faille et s’est amusé à monter un scénario d’attaque digne d’un film de ma saga préférée : “Die Hard”. L’idée, diaboliquement géniale, est d’utiliser ces fameuses “escape sequences” non filtrées pour créer de fausses invites sudo sur le terminal de la victime. Ainsi, tel un loup déguisé en agneau, l’attaquant peut vous inciter à gentiment taper votre mot de passe administrateur, pensant avoir affaire à une véritable demande d’authentification système.
Bon, je vous rassure tout de suite, il y a quand même quelques conditions à remplir pour que l’attaque fonctionne. Déjà, il faut que l’option “mesg” soit activée sur votre machine et que la commande wall ait les permissions setgid.
Bien sûr, en tant que vrai geek qui se respecte, vous avez probablement déjà mis à jour votre système avec la dernière version de util-linux qui colmate la brèche. Sinon, vous pouvez toujours vérifier que les permissions setgid ne sont pas activées sur wall ou carrément désactiver cette fonctionnalité de messages avec “mesg”.
En attendant, je ne peux que vous encourager à jeter un coup d’œil au PoC de notre ami chercheur, histoire de voir à quoi peut ressembler une fausse invite sudo des familles. C’est toujours ça de pris pour briller en société.
Allez, amusez-vous bien et n’oubliez pas : sudo rm -rf /*, c’est le mal !
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).