Icônes SCW
héros bg sans séparateur
Blog

Tiefer Einblick: Navigieren in der kritischen CUPS-Sicherheitslücke in GNU-Linux-Systemen

Laura Verheyde
Publié le 07 octobre 2024
Dernière mise à jour le 9 mars 2026

Les utilisateurs de Linux n'ont pas eu la vie facile ces derniers temps, plusieurs vulnérabilités de grande gravité ayant affecté le système de diverses manières au cours des dernières années. Les chercheurs en sécurité ont maintenant un nouveau groupe de vulnérabilités à déballer, toutes liées à la fonction Common UNIX Printing System (CUPS) ciblant les systèmes GNU/Linux avec une voie potentielle pour l'exécution de code à distance (RCE).

Le 27 septembre 2024, Simone Margaritelli d'evilsocket.net a publié des informations critiques sur plusieurs vulnérabilités exploitables dans CUPS, avec des CVEs attribués par la suite à quatre d'entre elles. Ce nombre pourrait augmenter, mais à l'heure où nous écrivons ces lignes, la communauté de la sécurité débat de la gravité réelle de ces découvertes. Alors que l'un des CVE, CVE-2024-47177, a une note de gravité critique actuelle de 9.1 de MITRE, la manipulation réussie de cette faille d'injection de commande dépend des serveurs avec le service CUPS activé et, en outre, nécessite l'accès au port UDP 631 ou DNS-SD. RedHat note cependant qu'il est possible de remapper CUPS sur un port différent. 

L'analyse complète de l'incident par Margaritelli révèle une chaîne d'attaques insidieuse et complexe qui, malgré les désaccords au sein de la communauté, ne devrait pas être ignorée. Elle nous donne une leçon sur les dépendances apparemment inoffensives qui peuvent être profondément exploitées si un acteur de la menace est suffisamment déterminé et si de petites fenêtres d'opportunité ont été laissées ouvertes par de mauvais modèles de codage.

Le scénario CUPS est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, alors jetons un coup d'œil et testons vos compétences au passage.

La vulnérabilité : Exécution de code à distance (RCE) via CUPS

Le blog d'Evilsocket fournit des informations approfondies et inégalées sur ces exploits, et c'est une ressource que nous continuerons à suivre de près. Margaritelli cite également une source anonyme dans son article, qui ne semble pas optimiste quant à la robustesse générale de Linux en matière de sécurité :



"D'un point de vue de sécurité générique, un système Linux entier tel qu'il est aujourd'hui n'est qu'un fouillis sans fin et sans espoir de failles de sécurité attendant d'être exploitées."

Cela nous rappelle les risques de sécurité inhérents aux environnements à code source ouvert, sans parler du besoin urgent d'une sensibilisation accrue à la sécurité et de compétences de codage sécurisées au sein de la communauté mondiale des développeurs.

Jetons un coup d'œil aux CVE :

‍Lachaîne de vulnérabilité est très répandue et affecte actuellement toutes les versions actuelles et antérieures des paquets suivants :

  • distrotech/cups-filtres
  • OpenPrinting/cups-filters
  • Coupes parcourues
  • libcupsfilters
  • libppd

CUPS est un composant hérité des systèmes d'exploitation UNIX et Linux depuis plus de vingt ans. Sa fonction de dépendance des services d'impression l'incite à effectuer des requêtes sur le réseau, ce qui en fait une cible de choix pour les vulnérabilités de type RCE.

Dans le cas présent, cependant, les attaques se combinent avec une certaine ingéniosité pour aboutir à un résultat positif. Il s'agit essentiellement de la capacité d'un attaquant non authentifié et non détecté à remplacer les URL du protocole d'impression Internet (IPP) par des URL malveillantes, en plus de modifier les directives qui peuvent provoquer l'injection de commandes dans le "fichier PPD (PostScript Printer Description), qui est un fichier utilisé pour décrire les caractéristiques de l'imprimante nouvellement ajoutée. Il en résulte une attaque par exécution de commande une fois qu'un travail d'impression est activé, et qui repose sur un manque de validation des entrées dans les composants de CUPS.

En outre, la correction de cette vulnérabilité particulière crée une sorte d'épée à double tranchant, comme le souligne Evilsocket. CUPS comprend le filtre foomatic-rip, un exécutable qui s'est déjà avéré être un composant exploitable à haut risque. Les CVE relatives à ce composant remontent à 2011, et bien qu'il ait été établi que foomatic-rip peut être utilisé pour exécuter des commandes du système d'exploitation, la correction de ce problème entraîne des problèmes de stabilité et la perte de la prise en charge de nombreuses imprimantes plus anciennes. Il s'agit d'un problème complexe à résoudre.

  1. L'acteur de la menace lance l'attaque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. Le système victime traite les attributs de l'imprimante
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

Comment pouvez-vous atténuer le risque de RCE ?

Les entreprises qui utilisent CUPS dans le cadre de leurs opérations commerciales doivent suivre les conseils de remédiation recommandés par Evilsocket et RedHat. Cela inclut, mais n'est pas limité à, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection de commande en général, consultez notre guide complet.

Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Consulter la ressource
Consulter la ressource

Entdecken Sie die neuesten Sicherheitsherausforderungen, mit denen Linux-Benutzer konfrontiert sind, während wir die jüngsten schwerwiegenden Sicherheitslücken im Common UNIX Printing System (CUPS) untersuchen. Erfahren Sie, wie diese Probleme zu potenziellem Remote Code Execution (RCE) führen können und was Sie tun können, um Ihre Systeme zu schützen.

Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstration
Partager sur :
marques LinkedInSocialLogo x
Auteur
Laura Verheyde
Publié le 07 octobre 2024

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Erforschung von Sicherheitslücken und die Erstellung von Inhalten für Missions und Coding Labs.

Partager sur :
marques LinkedInSocialLogo x

Les utilisateurs de Linux n'ont pas eu la vie facile ces derniers temps, plusieurs vulnérabilités de grande gravité ayant affecté le système de diverses manières au cours des dernières années. Les chercheurs en sécurité ont maintenant un nouveau groupe de vulnérabilités à déballer, toutes liées à la fonction Common UNIX Printing System (CUPS) ciblant les systèmes GNU/Linux avec une voie potentielle pour l'exécution de code à distance (RCE).

Le 27 septembre 2024, Simone Margaritelli d'evilsocket.net a publié des informations critiques sur plusieurs vulnérabilités exploitables dans CUPS, avec des CVEs attribués par la suite à quatre d'entre elles. Ce nombre pourrait augmenter, mais à l'heure où nous écrivons ces lignes, la communauté de la sécurité débat de la gravité réelle de ces découvertes. Alors que l'un des CVE, CVE-2024-47177, a une note de gravité critique actuelle de 9.1 de MITRE, la manipulation réussie de cette faille d'injection de commande dépend des serveurs avec le service CUPS activé et, en outre, nécessite l'accès au port UDP 631 ou DNS-SD. RedHat note cependant qu'il est possible de remapper CUPS sur un port différent. 

L'analyse complète de l'incident par Margaritelli révèle une chaîne d'attaques insidieuse et complexe qui, malgré les désaccords au sein de la communauté, ne devrait pas être ignorée. Elle nous donne une leçon sur les dépendances apparemment inoffensives qui peuvent être profondément exploitées si un acteur de la menace est suffisamment déterminé et si de petites fenêtres d'opportunité ont été laissées ouvertes par de mauvais modèles de codage.

Le scénario CUPS est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, alors jetons un coup d'œil et testons vos compétences au passage.

La vulnérabilité : Exécution de code à distance (RCE) via CUPS

Le blog d'Evilsocket fournit des informations approfondies et inégalées sur ces exploits, et c'est une ressource que nous continuerons à suivre de près. Margaritelli cite également une source anonyme dans son article, qui ne semble pas optimiste quant à la robustesse générale de Linux en matière de sécurité :



"D'un point de vue de sécurité générique, un système Linux entier tel qu'il est aujourd'hui n'est qu'un fouillis sans fin et sans espoir de failles de sécurité attendant d'être exploitées."

Cela nous rappelle les risques de sécurité inhérents aux environnements à code source ouvert, sans parler du besoin urgent d'une sensibilisation accrue à la sécurité et de compétences de codage sécurisées au sein de la communauté mondiale des développeurs.

Jetons un coup d'œil aux CVE :

‍Lachaîne de vulnérabilité est très répandue et affecte actuellement toutes les versions actuelles et antérieures des paquets suivants :

  • distrotech/cups-filtres
  • OpenPrinting/cups-filters
  • Coupes parcourues
  • libcupsfilters
  • libppd

CUPS est un composant hérité des systèmes d'exploitation UNIX et Linux depuis plus de vingt ans. Sa fonction de dépendance des services d'impression l'incite à effectuer des requêtes sur le réseau, ce qui en fait une cible de choix pour les vulnérabilités de type RCE.

Dans le cas présent, cependant, les attaques se combinent avec une certaine ingéniosité pour aboutir à un résultat positif. Il s'agit essentiellement de la capacité d'un attaquant non authentifié et non détecté à remplacer les URL du protocole d'impression Internet (IPP) par des URL malveillantes, en plus de modifier les directives qui peuvent provoquer l'injection de commandes dans le "fichier PPD (PostScript Printer Description), qui est un fichier utilisé pour décrire les caractéristiques de l'imprimante nouvellement ajoutée. Il en résulte une attaque par exécution de commande une fois qu'un travail d'impression est activé, et qui repose sur un manque de validation des entrées dans les composants de CUPS.

En outre, la correction de cette vulnérabilité particulière crée une sorte d'épée à double tranchant, comme le souligne Evilsocket. CUPS comprend le filtre foomatic-rip, un exécutable qui s'est déjà avéré être un composant exploitable à haut risque. Les CVE relatives à ce composant remontent à 2011, et bien qu'il ait été établi que foomatic-rip peut être utilisé pour exécuter des commandes du système d'exploitation, la correction de ce problème entraîne des problèmes de stabilité et la perte de la prise en charge de nombreuses imprimantes plus anciennes. Il s'agit d'un problème complexe à résoudre.

  1. L'acteur de la menace lance l'attaque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. Le système victime traite les attributs de l'imprimante
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

Comment pouvez-vous atténuer le risque de RCE ?

Les entreprises qui utilisent CUPS dans le cadre de leurs opérations commerciales doivent suivre les conseils de remédiation recommandés par Evilsocket et RedHat. Cela inclut, mais n'est pas limité à, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection de commande en général, consultez notre guide complet.

Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Consulter la ressource
Consulter la ressource

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre autorisation pour vous envoyer des informations sur nos produits et/ou des sujets connexes liés au codage sécurisé. Nous traitons toujours vos données personnelles avec le plus grand soin et ne les vendons jamais à d'autres entreprises à des fins de marketing.

Soumettre
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « Analytics ». Une fois que vous avez terminé, vous pouvez les désactiver à tout moment.

Les utilisateurs de Linux n'ont pas eu la vie facile ces derniers temps, plusieurs vulnérabilités de grande gravité ayant affecté le système de diverses manières au cours des dernières années. Les chercheurs en sécurité ont maintenant un nouveau groupe de vulnérabilités à déballer, toutes liées à la fonction Common UNIX Printing System (CUPS) ciblant les systèmes GNU/Linux avec une voie potentielle pour l'exécution de code à distance (RCE).

Le 27 septembre 2024, Simone Margaritelli d'evilsocket.net a publié des informations critiques sur plusieurs vulnérabilités exploitables dans CUPS, avec des CVEs attribués par la suite à quatre d'entre elles. Ce nombre pourrait augmenter, mais à l'heure où nous écrivons ces lignes, la communauté de la sécurité débat de la gravité réelle de ces découvertes. Alors que l'un des CVE, CVE-2024-47177, a une note de gravité critique actuelle de 9.1 de MITRE, la manipulation réussie de cette faille d'injection de commande dépend des serveurs avec le service CUPS activé et, en outre, nécessite l'accès au port UDP 631 ou DNS-SD. RedHat note cependant qu'il est possible de remapper CUPS sur un port différent. 

L'analyse complète de l'incident par Margaritelli révèle une chaîne d'attaques insidieuse et complexe qui, malgré les désaccords au sein de la communauté, ne devrait pas être ignorée. Elle nous donne une leçon sur les dépendances apparemment inoffensives qui peuvent être profondément exploitées si un acteur de la menace est suffisamment déterminé et si de petites fenêtres d'opportunité ont été laissées ouvertes par de mauvais modèles de codage.

Le scénario CUPS est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, alors jetons un coup d'œil et testons vos compétences au passage.

La vulnérabilité : Exécution de code à distance (RCE) via CUPS

Le blog d'Evilsocket fournit des informations approfondies et inégalées sur ces exploits, et c'est une ressource que nous continuerons à suivre de près. Margaritelli cite également une source anonyme dans son article, qui ne semble pas optimiste quant à la robustesse générale de Linux en matière de sécurité :



"D'un point de vue de sécurité générique, un système Linux entier tel qu'il est aujourd'hui n'est qu'un fouillis sans fin et sans espoir de failles de sécurité attendant d'être exploitées."

Cela nous rappelle les risques de sécurité inhérents aux environnements à code source ouvert, sans parler du besoin urgent d'une sensibilisation accrue à la sécurité et de compétences de codage sécurisées au sein de la communauté mondiale des développeurs.

Jetons un coup d'œil aux CVE :

‍Lachaîne de vulnérabilité est très répandue et affecte actuellement toutes les versions actuelles et antérieures des paquets suivants :

  • distrotech/cups-filtres
  • OpenPrinting/cups-filters
  • Coupes parcourues
  • libcupsfilters
  • libppd

CUPS est un composant hérité des systèmes d'exploitation UNIX et Linux depuis plus de vingt ans. Sa fonction de dépendance des services d'impression l'incite à effectuer des requêtes sur le réseau, ce qui en fait une cible de choix pour les vulnérabilités de type RCE.

Dans le cas présent, cependant, les attaques se combinent avec une certaine ingéniosité pour aboutir à un résultat positif. Il s'agit essentiellement de la capacité d'un attaquant non authentifié et non détecté à remplacer les URL du protocole d'impression Internet (IPP) par des URL malveillantes, en plus de modifier les directives qui peuvent provoquer l'injection de commandes dans le "fichier PPD (PostScript Printer Description), qui est un fichier utilisé pour décrire les caractéristiques de l'imprimante nouvellement ajoutée. Il en résulte une attaque par exécution de commande une fois qu'un travail d'impression est activé, et qui repose sur un manque de validation des entrées dans les composants de CUPS.

En outre, la correction de cette vulnérabilité particulière crée une sorte d'épée à double tranchant, comme le souligne Evilsocket. CUPS comprend le filtre foomatic-rip, un exécutable qui s'est déjà avéré être un composant exploitable à haut risque. Les CVE relatives à ce composant remontent à 2011, et bien qu'il ait été établi que foomatic-rip peut être utilisé pour exécuter des commandes du système d'exploitation, la correction de ce problème entraîne des problèmes de stabilité et la perte de la prise en charge de nombreuses imprimantes plus anciennes. Il s'agit d'un problème complexe à résoudre.

  1. L'acteur de la menace lance l'attaque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. Le système victime traite les attributs de l'imprimante
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

Comment pouvez-vous atténuer le risque de RCE ?

Les entreprises qui utilisent CUPS dans le cadre de leurs opérations commerciales doivent suivre les conseils de remédiation recommandés par Evilsocket et RedHat. Cela inclut, mais n'est pas limité à, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection de commande en général, consultez notre guide complet.

Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Veuillez consulter le webinaire.
Veuillez commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Consulter le rapportRéserver une démonstration
Télécharger le PDF
Consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
Auteur
Laura Verheyde
Publié le 07 octobre 2024

Laura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und konzentriert sich auf die Erforschung von Sicherheitslücken und die Erstellung von Inhalten für Missions und Coding Labs.

Partager sur :
marques LinkedInSocialLogo x

Les utilisateurs de Linux n'ont pas eu la vie facile ces derniers temps, plusieurs vulnérabilités de grande gravité ayant affecté le système de diverses manières au cours des dernières années. Les chercheurs en sécurité ont maintenant un nouveau groupe de vulnérabilités à déballer, toutes liées à la fonction Common UNIX Printing System (CUPS) ciblant les systèmes GNU/Linux avec une voie potentielle pour l'exécution de code à distance (RCE).

Le 27 septembre 2024, Simone Margaritelli d'evilsocket.net a publié des informations critiques sur plusieurs vulnérabilités exploitables dans CUPS, avec des CVEs attribués par la suite à quatre d'entre elles. Ce nombre pourrait augmenter, mais à l'heure où nous écrivons ces lignes, la communauté de la sécurité débat de la gravité réelle de ces découvertes. Alors que l'un des CVE, CVE-2024-47177, a une note de gravité critique actuelle de 9.1 de MITRE, la manipulation réussie de cette faille d'injection de commande dépend des serveurs avec le service CUPS activé et, en outre, nécessite l'accès au port UDP 631 ou DNS-SD. RedHat note cependant qu'il est possible de remapper CUPS sur un port différent. 

L'analyse complète de l'incident par Margaritelli révèle une chaîne d'attaques insidieuse et complexe qui, malgré les désaccords au sein de la communauté, ne devrait pas être ignorée. Elle nous donne une leçon sur les dépendances apparemment inoffensives qui peuvent être profondément exploitées si un acteur de la menace est suffisamment déterminé et si de petites fenêtres d'opportunité ont été laissées ouvertes par de mauvais modèles de codage.

Le scénario CUPS est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, alors jetons un coup d'œil et testons vos compétences au passage.

La vulnérabilité : Exécution de code à distance (RCE) via CUPS

Le blog d'Evilsocket fournit des informations approfondies et inégalées sur ces exploits, et c'est une ressource que nous continuerons à suivre de près. Margaritelli cite également une source anonyme dans son article, qui ne semble pas optimiste quant à la robustesse générale de Linux en matière de sécurité :



"D'un point de vue de sécurité générique, un système Linux entier tel qu'il est aujourd'hui n'est qu'un fouillis sans fin et sans espoir de failles de sécurité attendant d'être exploitées."

Cela nous rappelle les risques de sécurité inhérents aux environnements à code source ouvert, sans parler du besoin urgent d'une sensibilisation accrue à la sécurité et de compétences de codage sécurisées au sein de la communauté mondiale des développeurs.

Jetons un coup d'œil aux CVE :

‍Lachaîne de vulnérabilité est très répandue et affecte actuellement toutes les versions actuelles et antérieures des paquets suivants :

  • distrotech/cups-filtres
  • OpenPrinting/cups-filters
  • Coupes parcourues
  • libcupsfilters
  • libppd

CUPS est un composant hérité des systèmes d'exploitation UNIX et Linux depuis plus de vingt ans. Sa fonction de dépendance des services d'impression l'incite à effectuer des requêtes sur le réseau, ce qui en fait une cible de choix pour les vulnérabilités de type RCE.

Dans le cas présent, cependant, les attaques se combinent avec une certaine ingéniosité pour aboutir à un résultat positif. Il s'agit essentiellement de la capacité d'un attaquant non authentifié et non détecté à remplacer les URL du protocole d'impression Internet (IPP) par des URL malveillantes, en plus de modifier les directives qui peuvent provoquer l'injection de commandes dans le "fichier PPD (PostScript Printer Description), qui est un fichier utilisé pour décrire les caractéristiques de l'imprimante nouvellement ajoutée. Il en résulte une attaque par exécution de commande une fois qu'un travail d'impression est activé, et qui repose sur un manque de validation des entrées dans les composants de CUPS.

En outre, la correction de cette vulnérabilité particulière crée une sorte d'épée à double tranchant, comme le souligne Evilsocket. CUPS comprend le filtre foomatic-rip, un exécutable qui s'est déjà avéré être un composant exploitable à haut risque. Les CVE relatives à ce composant remontent à 2011, et bien qu'il ait été établi que foomatic-rip peut être utilisé pour exécuter des commandes du système d'exploitation, la correction de ce problème entraîne des problèmes de stabilité et la perte de la prise en charge de nombreuses imprimantes plus anciennes. Il s'agit d'un problème complexe à résoudre.

  1. L'acteur de la menace lance l'attaque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
  2. Le système victime traite les attributs de l'imprimante
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
  3. Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
    1. CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
  4. Victim system initiates print job and attacker’s code is executed
    CVE-2024-47177
    : cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).

Comment pouvez-vous atténuer le risque de RCE ?

Les entreprises qui utilisent CUPS dans le cadre de leurs opérations commerciales doivent suivre les conseils de remédiation recommandés par Evilsocket et RedHat. Cela inclut, mais n'est pas limité à, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.

Pour l'injection de commande en général, consultez notre guide complet.

Si vous souhaitez obtenir d'autres directives de codage gratuites, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.

Table des matières

Télécharger le PDF
Consulter la ressource
Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstrationTélécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus d'articles
Centre de ressources

Ressources pour débuter

Plus d'articles