Dans la bibliothèque zip-rs, écrite en Rust et comptant environ 10 millions de téléchargements par semaine, une vulnérabilité a été identifiée (CVE-2026-115905) permettant de créer des archives qui semblent inoffensives mais qui, lors de leur décompression, extraient d'autres fichiers qui ne figurent pas initialement dans la liste. Les fichiers peuvent être placés dans l'archive en dehors de la structure du « Central Directory », ce qui fait qu'un contenu est affiché lors de la consultation de la liste des fichiers, mais que d'autres fichiers sont extraits lors de la décompression via l'API ZipStreamReader. Cette vulnérabilité a été classée avec un niveau de dangerosité de 10 sur 10. Elle a été corrigée dans la version zip-rs 9.0.5.
La vulnérabilité est due à l'utilisation de différents en-têtes lors de l'accès aléatoire à l'archive via l'API ZipArchive et lors de l'extraction de données en mode streaming avec l'API ZipStreamReader. Le gestionnaire ZipArchive s'appuie sur l'en-tête CDFH (Central Directory File Header), tandis que ZipStreamReader donne la priorité à l'en-tête LFH (Local File Header) lors de l'extraction des fichiers, sans synchronisation des métadonnées dupliquées.
Cette vulnérabilité peut être exploitée pour contourner les filtres de messagerie, les analyseurs antivirus et d'autres systèmes de vérification de la sécurité. Un attaquant peut insérer un document ou une image dans la partie visible de l'archive et placer un fichier exécutable contenant du code malveillant dans la partie cachée, qui ne sera pas détecté par l'antivirus mais sera enregistré sur le disque lors de la décompression par l'utilisateur. Parmi les exemples figurent des attaques sur des microservices, des plateformes SaaS et des systèmes d'isolation par conteneurs, où lors de la décompression d'archives apparemment inoffensives, comme celles contenant des ensembles de styles, des fichiers texte ou des images, des scripts et des fichiers exécutables peuvent être écrasés dans des répertoires de projets actifs.
On peut également noter une vulnérabilité (CVE-2026-96889) dans la bibliothèque librsvg, développée par le projet GNOME en Rust. Cette bibliothèque est utilisée dans GTK et les applications GNOME pour le rendu SVG, et elle est également impliquée dans le populaire paquet NPM sharp, qui compte 80 millions de téléchargements par semaine et est utilisé comme dépendance par presque 11 000 projets. La vulnérabilité permet d'exécuter du code arbitraire lors du traitement d'images SVG spécialement conçues. Le problème a été résolu dans les versions librsvg 2.56.6, 2.60.3, 2.62.4 et 2.63.1, ainsi que dans le paquet NPM sharp 0.35.5. Parmi les projets affectés se trouve la plateforme PeerTube (la dépendance a été mise à jour dans la sortie d'aujourd'hui, PeerTube 8.3.2).
Pour analyser le balisage XML utilisé dans les fichiers SVG, librsvg utilise des fonctions de la bibliothèque C libxml2. La vulnérabilité est causée par le fait que, lorsqu'il y a des constructions XML imbriquées Xincludes dans le SVG, contenant des éléments dupliqués avec des noms répétitifs, il y a un accès à la mémoire après sa libération. L'erreur se produit car la bibliothèque librsvg libère la mémoire des éléments XML qui sont encore utilisés par le parseur libxml2.
Source : opennet.ru
