Une vulnérabilité critique d’Axios menace les infrastructures cloud via une chaîne d'attaque
Les versions d’Axios antérieures à la 1.15.0 contiennent une vulnérabilité critique, CVE-2026-40175, permettant aux attaquants d’exécuter du code à distance et de compromettre des ressources AWS par pollution du prototype. Des preuves de concept (PoC) publiques sont déjà disponibles, et un correctif a été publié — la mise à jour immédiate est essentielle pour tous les utilisateurs.
Mécanisme d'exploitation et risques
La vulnérabilité provient d'une validation insuffisante des caractères CR et LF dans la méthode AxiosHeaders.set. Cela permet une injection CRLF lorsque des propriétés polluées du prototype d'objet sont transmises dans les en-têtes HTTP sans filtrage.
La chaîne d'attaque commence généralement par la compromission de dépendances telles que qs, minimist ou body-parser. Une fois le Object.prototype pollué, Axios hérite de ces propriétés corrompues, entraînant une injection d'en-tête malveillant et une séparation de requêtes HTTP. En conséquence, les attaquants peuvent accéder au service de métadonnées d'instance AWS à l'adresse 169.254.169.254.
Impact sur les environnements cloud :
- Récupération de jetons IAM temporaires via des requêtes PUT.
- Élévation de privilèges à travers l'infrastructure.
- Compromission complète des microservices et des conteneurs.
La vulnérabilité est répandue : environ 39 % des 20 000 hôtes actifs analysés dans l’internet russophone sont vulnérables, le nombre réel étant probablement plus élevé en raison de l'utilisation cachée dans les services backend.
Indicateurs de compromission
L’analyse des journaux peut aider à détecter les attaques précocement. Les principaux signaux d’alerte incluent :
- Requêtes PUT anormales ciblant 169.254.169.254.
- Manipulation de
__proto__ouconstructor.prototypedans les en-têtes. - Présence de séquences CRLF comme
%0d%0aou\r\ndans les requêtes. - Utilisation non autorisée de jetons IAM depuis des adresses IP inattendues.
- Erreurs d’analyse des en-têtes et réponses HTTP 500 dans les applications Node.js.
Mesures d'atténuation et contexte
La pollution du prototype est une technique bien connue qui exploite la nature dynamique de JavaScript. Dans l’écosystème npm, les vulnérabilités dans des bibliothèques largement utilisées comme Axios (avec plus de 60 millions de téléchargements hebdomadaires) posent des risques systémiques à des millions d’applications.
Causes racines : Absence de validation stricte des entrées pour les en-têtes HTTP. Cela reflète les défis plus larges de la chaîne d’approvisionnement logicielle, où les dépendances tierces se propagent silencieusement.
Impact industriel : Un score CVSS 3.1 compris entre 9,9 et 10,0 souligne la gravité pour les fournisseurs de cloud. Des incidents passés comme Log4Shell ont montré comment des failles locales peuvent s’étendre en menaces mondiales.
Actions recommandées :
- Mettez immédiatement à jour vers Axios 1.15.0, qui inclut des vérifications
assertValidHeaderValue. - Auditez vos dépendances à l’aide de
npm auditet d’outils SCA. - Restreignez l’accès à IMDS via des politiques réseau et des groupes de sécurité.
- Configurez des règles WAF pour bloquer les motifs suspects.
Points clés
- La faille permet une exécution de code à distance (RCE) via pollution du prototype et injection CRLF, mettant directement en danger les charges de travail AWS.
- Affecte toutes les versions antérieures à 1.15.0 ; les PoC publics sont disponibles depuis le 10 avril 2026.
- 39 % des hôtes scannés restent exposés — sous-estimer ce risque est dangereux.
- Un correctif existe, mais nécessite une vérification complète de la chaîne de dépendances.
- Implication plus large : renforce la nécessité d’architectures de type zéro confiance (zero-trust) dans les environnements cloud.
— Editorial Team
Aucun commentaire pour le moment.