CISA et le FBI ont exhorté mercredi les éditeurs de logiciels à revoir leurs produits et à éliminer les vulnérabilités d’injection de commandes path OS avant l’expédition.
L’avis a été publié en réponse à de récentes attaques qui exploitaient plusieurs failles de sécurité d’injection de commandes du système d’exploitation (CVE-2024-20399, CVE-2024-3400 et CVE-2024-21887) pour compromettre les périphériques de périphérie réseau Cisco, Palo Alto et Ivanti.
Velvet Ant, l’acteur de la menace parrainé par l’État chinois qui a coordonné ces attaques, a déployé des logiciels malveillants personnalisés pour obtenir de la persistance sur les appareils piratés dans le cadre d’une campagne de cyberespionnage.
« Les vulnérabilités d’injection de commandes du système d’exploitation surviennent lorsque les fabricants ne parviennent pas à valider et à assainir correctement les entrées utilisateur lors de la création de commandes à exécuter sur le système d’exploitation sous-jacent », explique l’avis conjoint d’aujourd’hui.
« La conception et le développement de logiciels qui font confiance aux entrées des utilisateurs sans validation ni nettoyage appropriés peuvent permettre aux auteurs de menaces d’exécuter des commandes malveillantes, mettant les clients en danger. »
CISA conseille aux développeurs de mettre en œuvre des mesures d’atténuation bien connues pour prévenir les vulnérabilités d’injection de commandes du système d’exploitation à grande échelle lors de la conception et du développement de produits logiciels:
- Utilisez des fonctions de bibliothèque intégrées qui séparent les commandes de leurs arguments chaque fois que possible au lieu de construire des chaînes brutes introduites dans une commande système à usage général.
- Utilisez le paramétrage des entrées pour séparer les données des commandes; validez et nettoyez toutes les entrées fournies par l’utilisateur.
- Limitez les parties des commandes construites par l’utilisateur à ce qui est nécessaire.
Les leaders technologiques doivent être activement impliqués dans le processus de développement logiciel. Ils peuvent le faire en s’assurant que le logiciel utilise des fonctions qui génèrent des commandes en toute sécurité tout en préservant la syntaxe et les arguments prévus de la commande.
De plus, ils doivent examiner les modèles de menaces, utiliser des bibliothèques de composants modernes, effectuer des revues de code et mettre en œuvre des tests de produits rigoureux pour garantir la qualité et la sécurité de leur code tout au long du cycle de vie du développement.
« Les vulnérabilités d’injection de commandes du système d’exploitation ont longtemps été évitables en séparant clairement les entrées utilisateur du contenu d’une commande. Malgré cette découverte, les vulnérabilités d’injection de commandes du système d’exploitation—dont beaucoup résultent de CWE-78—constituent toujours une classe de vulnérabilité répandue », ont ajouté la CISA et le FBI.
« La CISA et le FBI exhortent les PDG et autres chefs d’entreprise des fabricants de technologies à demander à leurs responsables techniques d’analyser les occurrences passées de cette classe de défauts et d’élaborer un plan pour les éliminer à l’avenir. »
Les bogues de sécurité liés à l’injection de commandes du système d’exploitation ont pris la cinquième place dans le top 25 des faiblesses logicielles les plus dangereuses de MITRE, dépassés uniquement par les failles d’écriture hors limites, de script intersite, d’injection SQL et d’utilisation après libération.
En mai et mars, deux autres alertes « Sécurisées dès la conception » ont exhorté les responsables techniques et les développeurs de logiciels à éliminer les vulnérabilités de sécurité de traversée de chemin et d’injection SQL (SQLi).