Vulnérabilité critique dans protobuf.js menace des milliers de services sur Google Cloud et Firebase
La bibliothèque JavaScript populaire protobuf.js, utilisée pour travailler avec le format Protocol Buffers, contient une vulnérabilité critique qui permet à des attaquants d'exécuter du code arbitraire sur le serveur. Le problème affecte des millions de services, en particulier ceux fonctionnant sur Google Cloud et Firebase.
Comment fonctionne l'attaque
La vulnérabilité est liée au mécanisme de traitement des fichiers de schéma protobuf. La bibliothèque génère du code JavaScript basé sur la description des données et l'exécute via une fonction de type eval. Si du code malveillant est inséré dans le nom du type ou du champ du schéma, il sera exécuté sans validation.
L'attaque ne nécessite pas d'actions complexes : il suffit que l'application charge un fichier de schéma falsifié depuis une source externe. Ces schémas sont souvent obtenus auprès de services partenaires, de dépôts partagés ou via l'auto-description gRPC. Après le chargement, un simple message ordinaire active le code malveillant.
Portée de la menace
- 52 millions de téléchargements hebdomadaires — c'est le nombre de fois que protobuf.js est téléchargé.
- La bibliothèque est souvent une dépendance cachée, donc le nombre réel de projets vulnérables peut être plus élevé.
- Les versions jusqu'à 8.0.0 et 7.5.4 inclus sont concernées.
- La vulnérabilité a reçu l'identifiant GHSA-xq3m-2v4x-88gg et un score CVSS de 9.4.
Points clés
- La vulnérabilité permet l'exécution de code sur le serveur sans authentification.
- Une attaque est possible si l'application charge des schémas depuis des sources externes.
- Des correctifs ont été publiés dans les versions 8.0.1 et 7.5.5.
- Aucune attaque publique n'a encore été signalée, mais l'exploitation est techniquement simple.
- Les services sur Google Cloud, Firebase et ceux utilisant gRPC sont particulièrement vulnérables.
Impact commercial
Si un attaquant compromet une seule source de schéma, il peut :
- Accéder aux jetons et aux données utilisateur.
- Infiltrer les services internes.
- Voler des informations confidentielles.
Compte tenu de la popularité de protobuf.js, l'attaque pourrait affecter des milliers d'entreprises. Les développeurs doivent mettre à jour d'urgence la bibliothèque et vérifier toutes les dépendances, en particulier celles qui chargent des schémas depuis des sources externes.
Recommandations
- Mettez immédiatement à jour protobuf.js vers la version 8.0.1 ou 7.5.5.
- Vérifiez tous les projets pour les dépendances cachées sur les versions vulnérables.
- Examinez les endroits où l'application charge des fichiers de schéma depuis des sources externes.
- Envisagez de valider les schémas avant le chargement.
- Utilisez des mécanismes de contrôle d'intégrité pour les fichiers téléchargés.
— Editorial Team
Aucun commentaire pour le moment.