GNU/Linux en sueur avec cette faille RCE critique
On a du nouveau aujourd’hui concernant la faille de sécurité critique qui a été découverte ces derniers jours sur les systèmes GNU/Linux. Cette vulnérabilité, qui a fait l’effet d’une bombe dans la communauté, permet une exécution de code à distance (RCE) non authentifiée. Autant dire que c’est le genre de truc qui donne des sueurs froides aux admins sys
La faille a été découverte par le chercheur en sécurité Simone Margaritelli, alias @evilsocket. Elle affecte potentiellement tous les systèmes GNU/Linux utilisant le service cups-browsed, une partie du système d’impression CUPS. Plusieurs CVE ont été assignés à cette vulnérabilité : CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 et CVE-2024-47177.
Cette vulnérabilité a été évaluée avec un score CVSS initial de 9.9 sur 10, ce qui reflète sa gravité. Le plus inquiétant dans cette histoire, c’est que la faille serait présente dans le code depuis plus d’une décennie. Pendant que vous jouiez tranquillement à Minecraft durant votre enfance, ou que vous codiez votre premier “Hello World”, cette faille était là, tapie dans l’ombre, attendant son heure.
La vulnérabilité permet à un attaquant distant non authentifié de remplacer silencieusement les URL IPP des imprimantes existantes ou d’en installer de nouvelles, ce qui peut entraîner une exécution de code arbitraire lorsque vous lancez une tâche d’impression depuis votre ordinateur. L’attaque peut être réalisée en envoyant un paquet UDP au port 631, qui est ouvert sur toutes les interfaces par défaut, ou en usurpant des annonces mDNS/zeroconf sur le réseau local.
Les systèmes affectés comprennent la plupart des distributions GNU/Linux, certains systèmes BSD, et potentiellement d’autres systèmes basés sur UNIX qui utilisent CUPS et cups-browsed. Même des appareils comme Google ChromeOS pourraient être concernés.
Mais alors pourquoi est-ce si compliqué de corriger cette faille ? Il semblerait que le problème soit profondément enraciné dans le fonctionnement même de cups-browsed et de la manière dont il gère la découverte et l’ajout des imprimantes réseau. D’après Margaritelli, plusieurs composants du système CUPS sont affectés, notamment cups-browsed, libppd, libcupsfilters et cups-filters. Il faudrait donc corriger plusieurs parties du code pour éliminer entièrement la vulnérabilité.
Après comme personne n’a jamais vraiment réussi à faire marcher son imprimante sous Linux, ça craint pas trop… Rooh ça va je déconne ^^.
Bien sûr, comme d’hab, cette situation soulève des questions importantes sur la gestion des vulnérabilités dans le monde open source : Comment peut-on améliorer le processus de détection et de correction des failles ? Comment s’assurer que les développeurs prennent au sérieux les rapports de sécurité ?
Il faut dire que la communication autour de cette vulnérabilité n’a pas été des plus fluides. Margaritelli a exprimé sa frustration face à certains développeurs qui semblaient plus enclins à défendre leur code qu’à reconnaître le problème. Cela a retardé la mise en place d’un correctif.
Mais alors QUE FAIRE ?
Il est recommandé de :
- Désactiver et supprimer le service cups-browsed si vous n’en avez pas besoin.
- Mettre à jour le paquet CUPS sur vos systèmes dès qu’un correctif est disponible.
- Bloquer tout le trafic vers le port UDP 631 et éventuellement tout le trafic DNS-SD si vous n’utilisez pas zeroconf.
- Limiter au maximum l’exposition de vos systèmes sur Internet.
Cette histoire, aussi stressante soit-elle, n’est qu’un rappel que la sécurité est un combat de tous les instants. Restez sur vos gardes, gardez vos systèmes à jour, et n’oubliez pas : dans le doute, ne faites pas n’importe quoi avec les commandes système !
Sur ce, je retourne surveiller mes logs.
Merci à Simone Margaritelli pour ses recherches approfondies et à Nicolas pour le partage !
Article mis à jour le 27 septembre à 7h
Que faire après le bac quand on est passionné de cybersécurité ?
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).