Vulnérabilités critiques CUPS : exécution de code à distance
Vulnérabilités critiques dans CUPS : enjeux et solutions pour les entreprises
Deux vulnérabilités critiques ont été signalées dans CUPS, le système d'impression présent sur macOS et la majorité des distributions Linux. Ces failles permettent potentiellement une exécution de code à distance sur des machines où le service d'impression est accessible depuis le réseau. Des preuves de concept publiques existent, ce qui augmente le risque d'exploitation active pour des serveurs d'impression exposés et des postes de travail non protégés¹.
Origines et portée
CUPS (Common UNIX Printing System) existe depuis la fin des années 1990. Conçu pour orchestrer la conversion et l'envoi des documents vers des imprimantes, il repose sur un démon central, cupsd, qui traite les requêtes IPP, gère les files d'attente et invoque des filtres et backends pour adapter le flux d'impression au périphérique.
Apple intègre CUPS dans macOS depuis plus d'une décennie, et la majorité des distributions Linux l'utilisent comme composant d'impression par défaut. Les vulnérabilités découvertes résultent principalement de deux classes d'erreurs : un parsing insuffisamment robuste de fichiers fournis par l'utilisateur (notamment les PPD) et une gestion imprécise de l'appel aux filtres et exécutables externes utilisés pour la conversion des impressions.
Ces défauts prennent tout leur sens dans des architectures d'entreprise où un serveur d'impression centralisé reçoit des jobs depuis des réseaux variés. À la publication, des PoC circulaient publiquement, et les équipes doivent suivre les advisories officiels pour connaître le calendrier de diffusion des correctifs². Le suivi de la vulnérabilité au travers de bases de données publiques est déjà en cours³.
Fonctionnement technique expliqué simplement
Composants ciblés
- cupsd : le serveur qui gère les connexions IPP, les files d'attente et l'exécution des filtres.
- Filtres de conversion : programmes externes qui transforment le flux d'entrée vers un format que l'imprimante comprend.
- Backends : composants responsables de l'envoi final vers l'imprimante, via USB, réseau, etc.
- Fichiers PPD : descriptions textuelles des capacités d'une imprimante, fournies parfois par l'utilisateur ou l'administrateur.
Vecteurs d'attaque principaux
Un PPD malformé ou un job d'impression contenant des métadonnées manipulées peut amener cupsd à interpréter une chaîne comme un chemin de filtre valide. Si le serveur exécute ce filtre sans validation stricte, il peut lancer un binaire contrôlé par l'attaquant. De façon simplifiée, l'enchaînement d'une exploitation ressemble à :
- Un job d'impression arrive avec un PPD modifié.
- cupsd enregistre le job dans le spool.
- Lors du traitement, cupsd invoque un filtre référencé par le PPD.
- Le filtre malicieusement référencé s'exécute et peut exécuter du code arbitraire.
Le risque monte si le processus cupsd dispose de privilèges élevés. Dans de nombreuses installations, cupsd tourne avec des droits qui permettent d'accéder à des ressources sensibles, d'où la gravité potentielle d'une exploitation réussie.
Pourquoi ces erreurs passent parfois à travers
Les filtres et backends sont souvent implémentés comme des exécutables séparés pour permettre une grande variété d'imprimantes et de formats. Cette modularité augmente la surface d'attaque si l'application de règles strictes autour des chemins, des permissions et de la validation d'arguments est insuffisante. De plus, l'hétérogénéité des distributions et des versions de CUPS peut retarder l'arrivée de correctifs homogènes.
Détection et signes d'exploitation
Les équipes doivent surveiller plusieurs indicateurs pour repérer une exploitation :
- Entrées anormales dans les logs de cupsd liées au parsing ou aux erreurs de PPD.
- Lancement de processus enfants inattendus associés aux filtres de conversion.
- Accès inhabituel ou fréquent au répertoire de spool, classiquement /var/spool/cups.
- Tentatives de connexion IPP depuis des adresses externes ou non connues.
Des signatures IDS/IPS adaptées peuvent détecter des PoC connus au moment de leur diffusion. Il est aussi pertinent d'activer l'audit système autour de l'exécution de binaires issus des répertoires liés à CUPS.
Mesures immédiates pour réduire le risque
- Restreindre l'accès réseau : autoriser l'IPP uniquement depuis des segments de confiance (firewall, ACL).
- Désactiver l'administration distante de CUPS si elle n'est pas indispensable.
- Activer l'authentification IPP et limiter les comptes capables d'ajouter des imprimantes ou des PPD.
- Appliquer des contrôles de confinement comme AppArmor ou SELinux sur les processus CUPS pour limiter les dégâts en cas d'exécution de code.
- Isoler les serveurs d'impression dans un VLAN dédié et limiter les routes entrantes.
- Auditer les versions installées et préparer des déploiements de mises à jour dès diffusion des correctifs officiels².
Ces mesures réduisent la surface d'attaque et donnent du temps aux équipes pour tester et appliquer des correctifs officiels lorsqu'ils sont publiés.
Études de cas et scénarios d'impact
Serveur d'impression exposé en DMZ
Dans une PME où un serveur CUPS est accessible depuis une DMZ, l'absence d'authentification IPP et des règles de pare-feu lâches faciliteraient l'envoi de jobs malveillants. Une exploitation pourrait conduire à l'exécution de binaires non autorisés sur le serveur, potentiellement pivot vers le reste du réseau.
Poste de travail macOS

Sur macOS, CUPS est intégré et gère les travaux d'impression locaux et partagés. Un document piégé qui installe ou référence un PPD malveillant peut aboutir à l'exécution de code sur le poste utilisateur, surtout si des filtres sont invoqués avec des chemins non sécurisés.
Environnement industriel avec serveur centralisé
Une usine qui centralise l'impression via un serveur CUPS risque une diffusion large de l'impact si un PPD compromis est introduit. Les imprimantes multifonctions partagées et les postes clients pourraient tous être exposés selon le niveau de segmentation réseau et les permissions configurées.
Perspectives opérationnelles
La découverte de ces vulnérabilités par des agents d'IA montre que l'attaque automatique et la recherche de vulnérabilités évoluent. Les équipes de sécurité doivent accélérer leurs cycles d'inventaire et de déploiement des correctifs. En parallèle, l'architecture doit prendre en compte la séparation des services critiques, l'application stricte de politiques d'exécution et le renforcement des contrôles d'accès.
Sur la durée, il est recommandé de :
- Maintenir un inventaire précis des serveurs d'impression et de leurs versions.
- Mettre en place des tests de vulnérabilité fréquents ciblant les services d'impression.
- Documenter des procédures de remédiation rapides à appliquer dès la publication d'un advisory officiel².
Surveiller les registres de vulnérabilités comme la NVD permet aussi de suivre l'évolution des CVE liées à CUPS³.