Risques

  • Atteinte à la confidentialité des données
  • Contournement de la politique de sécurité
  • Exécution de code arbitraire à distance

Systèmes affectés

  • OpenPrinting cups-browsed toutes versions
  • OpenPrinting cups-filter toutes versions
  • OpenPrinting libcupsfilters toutes versions
  • OpenPrinting libppd toutes versions

Résumé

[Mise à jour du 10 octobre 2024]

Le 28 septembre 2024, Elastic Security Labs a publié des règles de détection au format propriétaire de l'éditeur (cf. section Documentation), qui sont confirmées par les analyses du CERT-FR pour la détection des attaques connues.

[Publication initiale]

De multiples vulnérabilités ont été découvertes dans OpenPrinting CUPS et dans le composant cups-browsed. Celui-ci permet notamment de découvrir automatiquement des imprimantes partagées sur le réseau.

Au total, quatre vulnérabilités ont été identifiées. Elles permettent :

  • de récupérer des informations sur le système d'information de la victime;
  • d'ajouter automatiquement sur le système une nouvelle imprimante, voire de remplacer une imprimante existante;
  • d'exécuter du code arbitraire à distance, lorsque l'utilisateur lance une tâche d'impression sur l'imprimante ajoutée précédemment.

Le CERT-FR a connaissance de codes d'exploitation publics mais pas encore de cas d'exploitation active.

Solutions

[Mise à jour du 01 octobre 2024]

Des correctifs sont disponibles pour certaines distributions. (cf. section Documentation)

Mesures de contournement

[Mise à jour du 01 octobre 2024]

Pour les distributions n'ayant pas de correctif disponible, le CERT-FR recommande :

  • de désactiver le service cups-browsed si celui-ci est installé. Les commandes suivantes permettent par exemple d'arrêter puis de désactiver le service pour les systèmes utilisant systemd :
    sudo systemctl stop cups-browsed
    sudo systemctl disable cups-browsed 
  • si la désactivation du service n'est pas envisageable, il est possible de modifier le fichier de configuration de cups-browsed, généralement situé dans /etc/cups/cups-browsed.conf en remplaçant la ligne BrowseRemoteProtocols dnssd cups par BrowseRemoteProtocols none;
  • de limiter l'accès au port 631 sur UDP et plus généralement de mettre en place des mécanismes de filtrage réseau utilisant des listes d'autorisation.
En l'état des connaissances actuelles, si le service cups-browsed est inaccessible, l'attaquant ne peut pas ajouter une imprimante malveillante à l'insu de l'utilisateur, ce qui bloque la chaîne d'exploitation.

Documentation