Ubuntu corrige des failles critiques dans Needrestart
Voici une info qui devrait vous intéresser si vous utilisez Ubuntu. Les équipes de sécurité de Canonical viennent de découvrir plusieurs vulnérabilités plutôt inquiétantes dans un petit utilitaire que vous utilisez probablement sans même le savoir : Needrestart.
Alors vous vous demandez peut-être ce qu’est ce mystérieux Needrestart ?
Et bien c’est ce gentil programme qui tourne en arrière-plan sur votre Ubuntu et qui vous dit poliment “Hey, il faudrait peut-être redémarrer ce service après la mise à jour, non ?”.
Plus précisément, il scanne votre système pour identifier les services qui utilisent des bibliothèques partagées obsolètes après une mise à jour de paquets. Son rôle est donc très important car il permet d’éviter un redémarrage complet du système en ne relançant que les services nécessaires.
Et bien, je vous le donne en mille, Emile, voici que 5 failles de sécurité critiques viennent d’être découvertes dans ce composant par l’équipe de recherche de Qualys. Et quand je dis critiques, je ne plaisante pas : n’importe quel utilisateur local peut potentiellement obtenir les privilèges root sur votre système. Autant dire que c’est à peu près aussi rassurant qu’un coffre-fort dont la combinaison serait ‘0000’.
Et bien sûr, ces vulnérabilités sont présentes depuis la version 0.8 de Needrestart, sortie en 2014 ! Ça fait donc presque 10 ans que ce petit programme cache des failles qui auraient pu permettre à un attaquant de prendre le contrôle total de votre système.
Maintenant, rentrons un peu dans les détails techniques, car c’est là que ça devient vraiment intéressant. Les chercheurs en sécurité de Qualys ont identifié cinq vulnérabilités distinctes, chacune avec son petit nom de code :
CVE-2024-48990 : Cette faille permet à un attaquant de contrôler l’interpréteur Python en manipulant la variable d’environnement PYTHONPATH. Une fois compromise, cette variable peut être utilisée pour exécuter du code malveillant avec les privilèges root via l’injection d’une bibliothèque malicieuse.
CVE-2024-48992 : Même principe mais cette fois avec l’interpréteur Ruby et la variable RUBYLIB. Un attaquant peut injecter des bibliothèques malveillantes qui seront exécutées avec les privilèges maximaux.
CVE-2024-48991 : Une condition de concurrence (race condition) permet à un attaquant de remplacer l’interpréteur Python par un exécutable malveillant au moment précis où Needrestart effectue sa vérification.
CVE-2024-10224 : Cette vulnérabilité concerne le module Perl ScanDeps utilisé par Needrestart. En manipulant les noms de fichiers d’une certaine manière (par exemple en utilisant “command|”), un attaquant peut forcer l’exécution de commandes shell arbitraires.
CVE-2024-11003 : La cerise sur le gâteau : Needrestart passe des données non sécurisées au module ScanDeps, ce qui peut déclencher l’exécution de code arbitraire en exploitant la vulnérabilité précédente.
La bonne nouvelle est que Canonical a déjà publié les correctifs nécessaires dans la version 3.8. Si vous utilisez Ubuntu 22.04 LTS, 24.04 LTS ou 24.10, vous devriez mettre à jour votre système immédiatement. Voici comment vérifier si vous êtes concerné :
apt list --installed | grep '^(needrestart|libmodule-scandeps-perl)'
Si vous voyez que needrestart est installé avec une version inférieure à 3.5-5ubuntu2.1 (pour Ubuntu 22.04), 3.6-7ubuntu4.1 (pour 24.04), ou 3.6-8ubuntu4 (pour 24.10), il est temps de faire une mise à jour :
sudo apt update && sudo apt install --only-upgrade needrestart libmodule-scandeps-perl
En attendant que la mise à jour soit installée, vous pouvez aussi désactiver temporairement la fonction d’analyse des interpréteurs dans la configuration de Needrestart. Pour cela, modifiez le fichier /etc/needrestart/needrestart.conf et ajoutez cette ligne :
$nrconf{interpscan} = 0;
Donc, si vous gérez des serveurs Ubuntu ou si vous utilisez Ubuntu sur votre poste de travail, prenez quelques minutes pour vérifier et mettre à jour Needrestart. Bien que ces vulnérabilités nécessitent un accès local pour être exploitées, ne les sous-estimez pas car des failles similaires ont déjà été utilisées par le passé pour compromettre des systèmes critiques.
Il vaut toujours mieux prévenir que guérir !
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).