
Un scanner automatisé a été publié pour aider les professionnels de la sécurité à analyser les environnements à la recherche d’appareils vulnérables à la faille RCE du Common Unix Printing System (CUPS) identifiée sous le numéro CVE-2024-47176.
La faille, qui permet aux attaquants d’exécuter du code à distance arbitraire si certaines conditions sont remplies, a été révélée à la fin du mois dernier par la personne qui l’a découverte, Simone Margaritelli.
Bien que son aspect RCE semble limité dans les déploiements réels en raison des conditions préalables à l’exploitation, Akamai a montré par la suite que CVE-2024-47176 ouvrait également la possibilité d’une amplification 600x dans les attaques par déni de service distribué (DDoS).
Le scanner a été créé par le chercheur en cybersécurité Marcus Hutchins (alias « MalwareTech »), qui a créé le scanner pour aider les administrateurs système à analyser leurs réseaux et à identifier rapidement les appareils exécutant des services vulnérables parcourus par CUPS.
« La vulnérabilité provient du fait que cups-browsed lie son port de contrôle (port UDP 631) à INADDR_ANY, l’exposant au monde entier. Puisque les demandes ne sont pas authentifiées, toute personne capable d’atteindre le port de contrôle peut demander à cups-browsed d’exécuter l’imprimante découverte. »
« Dans les cas où le port n’est pas accessible depuis Internet (en raison de pare-feu ou de NAT), il peut toujours être accessible via le réseau local, permettant une élévation de privilèges et un mouvement latéral. »
« Pour cette raison, j’ai créé ce scanner conçu pour analyser votre réseau local à la recherche d’instances vulnérables parcourues par cups. »- Marc Hutchins a écrit
Comment fonctionne le scanner
Le script Python (cups_scanner.py) configure un serveur HTTP sur la machine de numérisation qui écoute les requêtes HTTP entrantes (rappels) des périphériques du réseau.
CVE-2024-47176 provient de CUPS-browsed (une partie démon de CUPS) liant son port de contrôle (port UDP 631) à INADDR_ANY, exposant le port au réseau et permettant à n’importe quel système de lui envoyer des commandes.
Le scanner envoie un paquet UDP personnalisé à l’adresse de diffusion du réseau sur le port 631, envoyé à chaque adresse IP dans la plage spécifiée, indiquant aux instances CUPS de renvoyer une requête.
Si un périphérique exécutant une instance vulnérable parcourue par cups reçoit le paquet UDP, il interprétera la requête et enverra un rappel HTTP au serveur, de sorte que seuls ceux qui répondent sont marqués comme vulnérables.

Les résultats sont écrits dans deux journaux: un (cups.log) contenant les adresses IP et la version CUPS des appareils qui ont répondu et une (demandes.log) contenant les requêtes HTTP brutes reçues par le serveur de rappel qui peuvent être utilisées pour une analyse plus approfondie.
En utilisant ce scanner, les administrateurs système peuvent planifier et exécuter une action de correction ou de reconfiguration ciblée, minimisant l’exposition de CVE-2024-47176 en ligne.
Breachtrace n’a pas testé le script et ne peut garantir son efficacité ou sa sécurité, vous devez donc l’utiliser à vos risques et périls.