Six vulnérabilités de protobuf.js exposent à des risques de RCE et de DoS

Six vulnérabilités de protobuf.js pourraient permettre l'exécution de code à distance, des attaques par déni de service et la compromission de la chaîne d'approvisionnement logicielle dans les environnements d'entreprise.

Écrit par
Ken Underhill
Ken Underhill
Jun 5, 2026
5 minute read
eSecurity Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

Six vulnérabilités découvertes dans protobuf.js pourraient permettre à des attaquants d'exécuter du code arbitraire, de faire tomber des services et de compromettre les chaînes d'approvisionnement logicielles dans les environnements cloud, d'IA, de messagerie et de développement.

Selon les chercheurs de Cyera, les failles touchent l'implémentation JavaScript largement utilisée des Protocol Buffers de Google, un framework de sérialisation des données qui sous-tend les communications d'innombrables systèmes distribués.

La bibliothèque reçoit plus de 50 millions de téléchargements par semaine et est intégrée directement ou indirectement à de nombreuses applications d'entreprise.

« … nous avons découvert six vulnérabilités dans [protobuf] qui permettent à des attaquants d'obtenir l'exécution de code à distance ou un déni de service en empoisonnant des données dérivées de schémas », a déclaré le chercheur de Cyera Vladimir Tokarev dans son analyse.

Points clés à retenir

  • Six vulnérabilités de protobuf.js pourraient permettre l'exécution de code à distance, des attaques par déni de service, la pollution de prototypes et l'injection de code.
  • Les failles touchent une bibliothèque comptant plus de 50 millions de téléchargements hebdomadaires, largement utilisée dans les services cloud, les plateformes d'IA, les pipelines CI/CD et les applications de messagerie.
  • Les chercheurs ont démontré des scénarios d'attaque réels, notamment la compromission de pipelines CI/CD, des plantages persistants de bots WhatsApp et des interruptions de service dans Google Cloud Functions.
  • Les organisations devraient immédiatement passer aux versions corrigées et examiner leurs dépendances directes et transitives afin d'identifier les instances vulnérables.

Les vulnérabilités de protobuf.js

Les vulnérabilités touchent les versions 7.5.5 et antérieures de protobuf.js, ainsi que les versions 8.0.0 et 8.0.1.

Collectivement, les six failles exposent à des attaques par exécution de code à distance (RCE), déni de service (DoS), pollution de prototypes et injection de code.

Ces découvertes sont préoccupantes, car protobuf.js est souvent introduit comme dépendance transitive : les organisations peuvent donc s'appuyer sur cette bibliothèque sans l'installer ni la suivre directement.

Cyera a relevé que protobuf.js apparaît dans des technologies largement utilisées comme les bibliothèques clientes de Google Cloud, OpenTelemetry, Milvus, Temporal et des frameworks de messagerie populaires, ce qui élargit la surface d'attaque potentielle.

Le problème tient principalement à la manière dont protobuf.js traite les entrées liées aux schémas.

Les noms de champs, les noms de types, les descripteurs et les valeurs de configuration étaient traités comme des métadonnées fiables, alors que des attaquants pouvaient les influencer dans certains environnements.

Advertisement

Comment des attaquants pourraient exploiter protobuf.js

L'un des problèmes les plus préoccupants est CVE-2026-44295, une faille d'injection de code dans l'outil en ligne de commande pbjs.

Les attaquants peuvent concevoir des noms de schémas malveillants qui sont écrits dans les fichiers JavaScript générés lors de la génération du code.

Si ces fichiers sont ensuite importés lors d'un processus de compilation, de test ou de déploiement, le code injecté peut s'exécuter au sein d'un environnement CI/CD de confiance, exposant potentiellement le code source, les certificats de signature, les identifiants cloud et d'autres ressources sensibles.

Les chercheurs ont également identifié une chaîne d'attaque par pollution de prototypes susceptible d'aboutir à l'exécution de code à distance (RCE).

Dans les environnements vulnérables, des attaquants pourraient exploiter une pollution de prototypes ailleurs dans une application Node.js et utiliser protobuf.js comme gadget d'exécution de code.

Comme protobuf.js crée dynamiquement des fonctions JavaScript avec le constructeur Function(), des valeurs contrôlées par l'attaquant pourraient être incorporées au code généré, puis exécutées par l'application.

Risque de déni de service (DoS)

L'étude a également révélé des risques de déni de service susceptibles de perturber les services en production.

Une faille permet aux attaquants d'envoyer des messages protobuf récursifs profondément imbriqués qui épuisent la pile d'appels JavaScript lors du décodage.

Cyera a démontré ce scénario contre des bots WhatsApp reposant sur le framework Baileys : un seul message malveillant pouvait contraindre un bot à entrer dans une boucle persistante de plantage et de redémarrage.

Les chercheurs ont reproduit un comportement similaire contre Google Cloud Functions traitant des événements Pub/Sub basés sur protobuf, montrant comment une seule charge utile malveillante pouvait déclencher à répétition des défaillances du service jusqu'à sa suppression manuelle ou son acheminement vers une file d'attente de lettres mortes.

Ensemble, ces découvertes montrent comment des vulnérabilités dans une bibliothèque de sérialisation largement utilisée peuvent se propager à l'infrastructure cloud, aux systèmes d'IA, aux chaînes d'approvisionnement logicielles et aux services destinés aux clients.

Advertisement

Comment atténuer les risques liés à protobuf.js

Comme protobuf.js est souvent déployé indirectement par l'intermédiaire de dépendances tierces, les organisations doivent examiner attentivement leurs environnements et mettre en place des mesures de protection supplémentaires afin de limiter les risques d'exécution de code, d'interruption de service et de compromission de la chaîne d'approvisionnement.

  • Passer à la dernière version de protobuf.js et auditer les dépendances directes et transitives afin d'identifier les instances vulnérables.
  • Prioriser la correction des services exposés à Internet, API, des files d'attente de messages et des applications qui traitent des charges utiles protobuf non fiables.
  • Considérer tous les fichiers .proto provenant de l'extérieur, les descripteurs JSON et les registres de schémas comme des entrées non fiables, et valider les schémas approuvés ou les placer sur une liste d'autorisation avant leur utilisation.
  • Réduire l'exposition aux risques liés à la génération de code en privilégiant la compilation des schémas lors de la construction, en restreignant le chargement dynamique des schémas et en renforçant les pipelines CI/CD qui utilisent pbjs.
  • Imposer des contrôles sur la taille des messages, la profondeur de récursion et la validation des entrées afin de prévenir les attaques par déni de service provoquées par des messages protobuf malformés ou profondément imbriqués.
  • Surveiller les échecs de décodage, les plantages répétés des services, les activités inhabituelles liées aux schémas et les signes de tentatives de pollution de prototypes dans les environnements Node.js.
  • Tester les plans de réponse aux incidents et les plans de reprise afin de garantir que les équipes peuvent identifier, contenir et corriger les attaques ou les interruptions de service liées à protobuf.

Ces mesures peuvent contribuer à réduire le risque d'exploitation et à améliorer la résilience globale.

Élargissement de la surface d'attaque

À mesure que les organisations s'appuient davantage sur les schémas, les métadonnées, l'automatisation et le code généré par l'IA, les équipes de sécurité doivent considérer ces entrées comme faisant partie intégrante de la surface d'attaque globale.

La cyberrésilience dépend de la compréhension des flux de données fiables au sein des systèmes critiques et de la mise en place de garde-fous avant que ces données puissent influencer le comportement des applications.

Comme le montre ce cas, les vulnérabilités présentes dans des dépendances de confiance peuvent rapidement se propager à des écosystèmes entiers, faisant de la sécurité de la chaîne d'approvisionnement logicielle une priorité importante pour les équipes de sécurité.

Ken Underhill

Ken Underhill is an award-winning cybersecurity professional, bestselling author, and seasoned IT professional. He holds a graduate degree in cybersecurity and information assurance from Western Governors University and brings years of hands-on experience to the field.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.