Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://help.onetsolutions.net/llms.txt

Use this file to discover all available pages before exploring further.

Publié le 27 septembre 2024
CVE-2024-47076, CVE-2024-47175, CVE-2024-47176, CVE-2024-47177. Quatre failles dans CUPS et cups-browsed. La RCE n’est pas immédiate (elle exige qu’un utilisateur lance une impression sur l’imprimante piégée), mais la surface est large : tout serveur Linux avec cups-browsed activé et le port 631/UDP joignable est candidat.

Pourquoi le périmètre n’est pas si large que les gros titres le disaient

Quand cette série de CVE a été divulguée, les titres parlaient de “9.9 sur 10” et de “vulnérabilité critique de Linux”. La réalité est plus mesurée :
  1. La faille n’est pas exploitable sans cups-browsed actif.
  2. cups-browsed n’est pas installé par défaut sur la plupart des serveurs de production (c’est une dépendance d’environnement de bureau, pas de serveur web).
  3. Même avec cups-browsed actif, la RCE ne se déclenche que lorsqu’un utilisateur imprime sur l’imprimante malveillante.
Pour autant, le risque existe pour les machines qui correspondent au profil — postes de travail Linux, certains environnements de développement, conteneurs construits sur des images “bureau” — et la surface est triviale à exploiter une fois ces conditions réunies.

La chaîne d’attaque

CUPS écoute sur 631/UDP quand cups-browsed est actif. L’attaquant envoie un paquet IPP (Internet Printing Protocol) qui annonce une imprimante distante. cups-browsed la enregistre automatiquement sur le serveur cible. À partir de là, l’imprimante apparaît dans la liste système. Quand un utilisateur imprime sur cette imprimante (par erreur, par confusion avec une imprimante légitime, ou parce que son nom imite une vraie imprimante), CUPS construit une commande d’impression à partir des attributs IPP fournis par l’attaquant. Certains de ces attributs ne sont pas validés : ils peuvent contenir des commandes shell qui sont exécutées avec les droits du daemon CUPS.

Êtes-vous concerné ?

Vérifiez deux choses sur chaque machine :
# 1. cups-browsed est-il actif ?
systemctl is-active cups-browsed

# 2. Quelle version de CUPS / cups-filters tournez-vous ?
cups-config --version
cups-browsed --version
Versions vulnérables :
  • cups-browsed ≤ 2.0.1
  • cups-filters ≤ 2.0.1
  • libcupsfilters ≤ 2.1b1
  • libppd ≤ 2.1b1

Mitigation

Solution propre : désactiver cups-browsed si vous n’en avez pas besoin

Sur un serveur, c’est presque toujours le bon choix :
sudo systemctl disable --now cups-browsed

Solution intermédiaire : restreindre la découverte

Si cups-browsed doit rester actif, désactivez la découverte automatique d’imprimantes distantes via BrowseRemoteProtocols. Éditez /etc/cups/cups-browsed.conf :
BrowseRemoteProtocols none
(Valeur par défaut : dnssd cups.) Puis :
sudo systemctl restart cups-browsed

Solution réseau

Bloquez 631/UDP sur le firewall depuis l’Internet et depuis tout réseau partagé non-trusted.

Patcher

Vérifiez l’état du patch chez votre distributeur :
  • Ubuntu : suivez le tracker Ubuntu Security pour cups-filters.
  • Debian : apt list --upgradable | grep -i cups.
  • RHEL/AlmaLinux : dnf check-update cups\*.

En résumé

Sur un serveur de production typique (web, base de données, cache), vous n’êtes probablement pas concerné. Sur un poste Linux ou un conteneur de bureau, vérifiez cups-browsed, désactivez-le si possible, patchez sinon. Pour toute question, ouvrez un ticket depuis votre espace client OnetSolutions.