In der Zip-RS-Bibliothek, die in Rust geschrieben ist und etwa 10 Millionen Downloads pro Woche verzeichnet, wurde eine Sicherheitsanfälligkeit (CVE-2026-115905) entdeckt, die es ermöglicht, Archive zu erstellen, die harmlos erscheinen, jedoch beim Entpacken andere, ursprünglich nicht im Verzeichnis angezeigte Dateien extrahieren. Diese Dateien können im Archiv außerhalb der Struktur «Central Directory» platziert werden, wodurch beim Durchsehen der Dateiliste ein Inhalt angezeigt wird, beim Entpacken hingegen durch die API ZipStreamReader andere Dateien extrahiert werden. Dem Problem wurde ein Gefahrenlevel von 10 von 10 zugewiesen. Die Sicherheitsanfälligkeit wurde in der Version zip-rs 9.0.5 behoben.
Die Sicherheitsanfälligkeit entsteht durch die Verwendung unterschiedlicher Header beim willkürlichen Zugriff auf das Archiv über die API ZipArchive und beim Extrahieren von Daten im Streaming-Modus mit Hilfe der API ZipStreamReader. Der Handler ZipArchive verlässt sich auf den Header CDFH (Central Directory File Header), während ZipStreamReader beim Extrahieren von Dateien den Header LFH (Local File Header) ohne Synchronisation der doppelten Metadaten als vorrangig betrachtet.
Die Schwachstelle kann dazu verwendet werden, E-Mail-Filter, Antivirus-Scanner und andere Sicherheitssysteme zu umgehen. Ein Angreifer kann in dem sichtbaren Teil des Archives ein Dokument oder ein Bild platzieren, während er in dem versteckten Teil eine ausführbare Datei mit schädlichem Code unterbringen kann, die vom Antivirus nicht erkannt wird, aber beim Entpacken durch den Benutzer auf der Festplatte gespeichert wird. Beispiele für solche Angriffe sind auf Mikrodienste, SaaS-Plattformen und Systeme zur Container-Isolierung, bei denen beim Entpacken in Verzeichnissen mit harmlosen Archiven, beispielsweise mit Stylesheets, Textdateien oder Bildern, Skripte und ausführbare Dateien überschrieben werden können.
Zusätzlich kann die Verwundbarkeit (CVE-2026-96889) in der Bibliothek librsvg erwähnt werden, die vom GNOME-Projekt in der Programmiersprache Rust entwickelt wird. Die Bibliothek wird in GTK und GNOME-Anwendungen zur Darstellung von SVG verwendet und ist zudem Teil des beliebten NPM-Pakets sharp, das wöchentlich 80 Millionen Downloads verzeichnet und in fast 11.000 Projekten als Abhängigkeit genutzt wird. Die Verwundbarkeit ermöglicht die Ausführung eigenen Codes bei der Verarbeitung speziell gestalteter SVG-Bilder. Das Problem wurde in den Versionen librsvg 2.56.6, 2.60.3, 2.62.4 und 2.63.1 sowie im NPM-Paket sharp 0.35.5 behoben. Unter den betroffenen Projekten befindet sich die Plattform PeerTube (Abhängigkeit wurde in der heutigen Version PeerTube 8.3.2 aktualisiert).
Für die Analyse der XML-Auszeichnung, die in SVG-Dateien verwendet wird, nutzt librsvg Funktionen aus der C-Bibliothek libxml2. Die Verwundbarkeit entsteht, weil bei Vorhandensein von geschachtelten XML-Konstruktionen in SVG mit Xincludes, die doppelte Elemente mit sich wiederholenden Namen enthalten, auf den Speicher nach dessen Freigabe zugegriffen wird. Der Absturz tritt ein, weil die Bibliothek librsvg den Speicher für XML-Elemente freigibt, die weiterhin im Parser libxml2 verwendet werden.
Quelle: opennet.ru
