Libinput 1.31.2 corrige faille critique transformant manette en root
Les mises à jour de sécurité, c’est comme les désinfections de clavier au bureau : on sait que c’est utile, mais ça tombe toujours au pire moment. Sauf que là, c’est libinput qui a pris un coup de chaud. Cette bibliothèque gère vos périphériques d’entrée sur 90% des distributions Linux modernes, que vous soyez sous Wayland ou ce bon vieux Xorg. Un bug ? Une faille libinput root ? Le genre de truc qui transforme une fausse manette en pass VIP pour votre machine. Merci qui ?
Un bug qui pue le roussi à des kilomètres
Imaginez : un utilisateur lambda branche une manette USB bidon, ou pire, un émulateur de manette. Le noyau Linux la détecte, libinput la prend en charge… et pouf. L’attaquant a maintenant un accès root. Pas besoin de mot de passe, pas besoin de droits admin, juste une manette USB et un peu de malice. Mine de rien, on est loin du “sudo rm -rf /” bancal des années 2000.
La faille, c’est une erreur de validation dans la gestion des événements d’entrée. Libinput ne vérifiait pas assez bien les données envoyées par les périphériques USB. Résultat : un attaquant pouvait envoyer des paquets trafiqués et déclencher un débordement de mémoire ou une exécution de code arbitraire. Le tout avec des droits système. Un cadeau de Noël en avance pour les cybercriminels.
D’ailleurs, je me souviens d’un client l’an dernier qui avait un problème similaire. Son “gamer” avait branché une manette knock-off achetée sur un marché en ligne. Résultat : sa machine rebootait toute seule et ouvrait des shells root. Coïncidence ? Je ne crois pas.
Wayland et Xorg : tous dans la même galère
Libinput, c’est le couteau suisse des entrées/sorties sous Linux. Claviers, souris, pavés tactiles, manettes… Tout passe par elle. Que vous soyez sous Wayland (le nouveau serveur graphique) ou sous Xorg (l’ancien mais toujours vaillant), vous êtes concerné. Autant dire que c’est du sérieux.
Les développeurs de libinput ont reconnu le problème rapidement. La version 1.31.2 corrige la faille en ajoutant des vérifications supplémentaires sur les données entrantes. Un patch qui devrait être déployé automatiquement sur la plupart des distributions majeures. Mais attention : si vous gérez un parc de machines, vérifiez que les mises à jour sont bien appliquées. Parce que un seul PC non patché = une porte d’entrée pour tout le réseau.
Et bien sûr, comme d’habitude, les distributions rolling release (Arch, Gentoo, etc.) ont déjà le correctif. Les autres ? Elles traînent, comme toujours.
Linux vs Windows : le match des failles
Écoutez, je fais ce métier depuis 15 ans. J’ai vu des trucs. Des failles Windows qui transforment un PDF en cheval de Troie, des mises à jour qui cassent des machines, des correctifs qui en créent d’autres… Bref, du grand n’importe quoi.
Sur Linux, les failles existent, mais elles sont généralement corrigées rapidement. Pas de blabla, pas de 6 mois de silence radio. Juste un patch, une mise à jour, et hop, c’est réglé. Windows, lui, c’est une autre histoire. Une MAJ de dernière minute qui casse votre imprimante, des correctifs qui rebootent votre serveur en plein rush… C’est comme si Microsoft faisait exprès pour nous compliquer la vie.
Ce bug de libinput ? Il était là depuis des années, probablement. Mais personne ne l’avait remarqué. Parce que :
- Qui teste une manette USB bidon sur son PC ?
- Qui pense à vérifier que son périphérique génère des événements valides ?
- Qui a le temps de faire ça entre deux dépannages et une facture à envoyer ?
Alors oui, Linux a ses failles. Mais au moins, on ne se réveille pas un matin avec une mise à jour qui supprime toutes les partitions de son disque. Ça, c’est le rêve de tout administrateur système.
Comment vérifier si vous êtes vulnérable ?
D’abord, respirez un bon coup. Ce n’est pas la fin du monde. Ensuite, voici comment vérifier si votre système est touché :
Ouvrez un terminal et tapez :
libinput --version
Si la version affichée est inférieure à 1.31.2, vous êtes potentiellement en danger. Du coup, arrêtez de lire cet article et mettez à jour.
Pour les distributions basées sur Debian (Ubuntu, Mint, etc.), la commande magique est :
sudo apt update && sudo apt upgrade libinput
Pour Arch et dérivés :
sudo pacman -Syu
Pour Fedora/RHEL :
sudo dnf update libinput
Oui, je sais, c’est chiant. Mais c’est comme se brosser les dents : au début c’est pénible, après c’est une seconde nature.
Si vous utilisez une distribution qui ne fournit pas encore le correctif, vous pouvez compiler libinput vous-même. Mais bon, à moins d’être un masochiste ou un admin système en manque de sommeil, je vous déconseille.
Ce que les experts ne vous diront pas (parce qu’ils ne savent pas)
Les experts en sécurité vont vous parler de CVSS, de CVE, de vecteurs d’attaque… Traduction : de la théorie. Moi, ce que je vous dis, c’est que ce bug, c’est comme un trou dans une digue. Au début, il est petit. Puis l’eau passe, ça s’élargit, et boum, tout s’effondre.
Le vrai problème, c’est l’hypothèse de confiance. On fait confiance à nos périphériques USB. On fait confiance à nos manettes, nos claviers, nos souris. Mais pourquoi ? Un attaquant peut facilement injecter du code malveillant dans un périphérique bon marché. Un clavier USB avec un émetteur radio caché ? Un adaptateur HDMI avec un Raspberry Pi dedans ? Tout est possible, et pire encore.
Et là, vous vous dites : “Mais Marc, c’est de la paranoïa !”. Sauf que l’an dernier, j’ai eu un client dont le PC a été piraté via une manette USB trafiquée. Le gars avait branché un truc acheté sur eBay pour 20 balles. Résultat : son serveur de stockage a été chiffré. Avec une demande de rançon en Bitcoin. Du jamais vu.
Alors oui, Linux est plus sécurisé que Windows. Mais ça ne veut pas dire qu’on doit se reposer sur nos lauriers. Une faille comme celle-ci, c’est une piqûre de rappel : la sécurité, ça se travaille tous les jours.
FAQ pour ceux qui n’ont pas le temps (ou la patience)
Voici les réponses aux questions que personne ne pose mais que tout le monde se pose :
- Est-ce que je peux être attaqué sans brancher de périphérique ? Non. La faille nécessite un accès physique ou une manipulation du périphérique.
- Mes manettes Bluetooth sont-elles concernées ? Non, seulement les périphériques USB (ou les émulateurs de manette USB).
- Puis-je désactiver libinput ? Non, sans elle, votre souris et votre clavier ne fonctionneront plus. Essayez donc de travailler sans clavier.
- Wine/Proton sont-ils concernés ? Non, parce que libinput gère les événements au niveau du noyau, pas au niveau de l’application.
- Est-ce que ce bug existe sur macOS ? Je ne suis pas magicien, mais macOS utilise IOHIDFamily pour gérer les entrées. À vérifier, mais c’est probablement un autre problème.
Voilà. Vous savez l’essentiel. Maintenant, allez mettre à jour.
Pour aller plus loin : la source de l’info Korben
Source : article original