Alors que les premiers rapports sur la faille du décodeur Brotli se concentraient sur Node.js et les applications HTTP, l’équipe de recherche en sécurité de JFrog a démontré que « Brotli2Shell » est un problème bien plus large de chaîne d’approvisionnement logicielle. Brotli étant fréquemment intégré comme dépendance transitive (souvent enfouie à plusieurs niveaux de profondeur), de nombreuses équipes de sécurité se pensent à l’abri parce qu’elles ont corrigé leur application principale, mais peuvent encore exécuter, dans d’autres parties de leur environnement, des copies vulnérables et non corrigées. Tribune Jfrog.
Le problème de fond : on ne peut pas corriger ce que l’on ne trouve pas. Avec Brotli embarqué dans des milliers de projets, la visibilité automatisée est le seul moyen de gérer ce risque.
Ofri Ouzan, Security Researcher chez JFrog, explique pourquoi il s’agit d’un tournant pour la sécurité de la chaîne d’approvisionnement :
« Le vrai danger de Brotli2Shell tient à la façon dont une seule faille dans un décodeur très répandu peut avoir de graves conséquences sur un très grand nombre d’applications. Brotli étant présent à plusieurs niveaux dans les dépendances transitives, de nombreuses équipes pensent être protégées alors qu’elles ne le sont pas. Notre équipe l’a démontré avec succès, en déclenchant une exécution de code à distance dans FFmpeg via un analyseur de fichiers spécialement conçu, ce qui prouve qu’il n’est même pas nécessaire d’utiliser directement le décodeur Brotli pour être vulnérable. On ne peut pas corriger ce que l’on ne voit pas. Aujourd’hui, la plupart des organisations ignorent où se cache ce code vulnérable dans leur écosystème. Une atténuation efficace exige plus qu’une simple vérification des versions de packages. »
JFrog a publié un scanner open source pour aider les équipes à cartographier leur exposition réelle. Les détails de la recherche originale de JFrog et de l’outil de scan sont disponibles ici : Brotli2Shell.


