Plongée en profondeur : Naviguer dans la vulnérabilité critique de CUPS dans les systèmes GNU-Linux
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.
- L'acteur de la menace lance l'attaque
- 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.
- Le système victime traite les attributs de l'imprimante
- 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.
- Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
- 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.
- 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é.
Découvrez les derniers défis de sécurité auxquels sont confrontés les utilisateurs de Linux en explorant les récentes vulnérabilités de haute sévérité dans le système d'impression commun d'UNIX (CUPS). Apprenez comment ces problèmes peuvent conduire à une potentielle exécution de code à distance (RCE) et ce que vous pouvez faire pour protéger vos systèmes.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationLaura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.
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.
- L'acteur de la menace lance l'attaque
- 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.
- Le système victime traite les attributs de l'imprimante
- 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.
- Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
- 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.
- 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é.
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.
- L'acteur de la menace lance l'attaque
- 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.
- Le système victime traite les attributs de l'imprimante
- 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.
- Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
- 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.
- 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é.
Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Voir le rapportRéservez une démonstrationLaura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.
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.
- L'acteur de la menace lance l'attaque
- 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.
- Le système victime traite les attributs de l'imprimante
- 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.
- Le système de la victime se connecte au serveur IPP du contrôleur de l'attaquant.
- 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.
- 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
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.