Critical flaw in Protobuf library enables JavaScript code execution

1 minute de lecture

Mis à jour :

Vulnérabilité critique d’exécution de code dans protobuf.js

La bibliothèque JavaScript protobuf.js, largement utilisée pour la communication de données, présente une faille critique permettant l’exécution de code à distance (RCE). Cette vulnérabilité, identifiée sous la référence GHSA-xq3m-2v4x-88gg, résulte d’une injection de code via des schémas malveillants non validés.

Points clés :

  • Mécanisme : La bibliothèque génère dynamiquement des fonctions via le constructeur Function(). Le défaut de validation des identifiants (noms des messages) dans les schémas permet à un attaquant d’injecter du code arbitraire exécuté par le serveur ou l’application.
  • Impact : Risque de compromission totale (accès aux variables d’environnement, identifiants, bases de données) et de mouvement latéral au sein des infrastructures.
  • Versions affectées : Toutes les versions jusqu’à 8.0.0 et 7.5.4 inclusivement.
  • Statut : Aucun cas d’exploitation active n’a été signalé, mais un code de preuve de concept (PoC) est publiquement disponible.

Recommandations :

  • Mise à jour immédiate : Passer aux versions corrigées 8.0.1 ou 7.5.5.
  • Gestion des entrées : Traiter tout chargement de schéma externe comme une donnée non fiable.
  • Pratiques sécurisées : Privilégier l’utilisation de schémas précompilés ou statiques dans les environnements de production pour limiter l’exposition.
  • Audit : Auditer les dépendances transitives pour identifier les usages de la bibliothèque au sein de l’architecture.

Source