Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
VectorFreed — Dokumentiert die VectorFreed-librsvg-Use-after-free-RCE-Kette (CVE-2026-96889) mit einem SVG-Generator-PoC und Behebungsempfehlungen für librsvg, Next.js und Satori. | Kitploit
Tools/GitHubGitHub/rafabd1/vectorfreed
SpeicherforensikSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPapers & ForschungBinary-Exploitation
GitHubrafabd1/vectorfreed

VectorFreed

Dokumentiert die VectorFreed-librsvg-Use-after-free-RCE-Kette (CVE-2026-96889) mit einem SVG-Generator-PoC und Behebungsempfehlungen für librsvg, Next.js und Satori.

Repository anzeigen
82vor 14 StundenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

VectorFreed

Zusammenfassung

Dieses Dokument stellt „VectorFreed" vor, eine Vulnerability-Chain, die mit einem Use-after-free beginnt, den ich (@rafabd1) in librsvg gefunden habe (CVE-2026-96889). In einem Node.js/Sharp/libvips-Build führte dieser Bug zur Befehlsausführung. Es behandelt den Bug, die bisher in Anwendungen bestätigten Pfade und die jetzt verfügbaren Fixes.

Details

Ein SVG kann über XInclude ein weiteres SVG einbinden. Im verwundbaren Pfad beginnt librsvg mit dem Parsen eines eingebundenen Dokuments, während libxml2 noch eine Entity im äußeren Dokument expandiert. Wenn das eingebundene SVG eine Entity mit demselben Namen deklariert, ersetzt und gibt librsvg die erste Entity frei. libxml2 hält weiterhin einen Zeiger darauf.

Wenn das Parsen des eingebundenen Dokuments endet, fährt libxml2 mit diesem alten Zeiger fort. Der Speicher kann zu diesem Zeitpunkt bereits zu etwas anderem gehören, sodass spätere Schreibzugriffe ihn korrumpieren können. Ein Absturz ist ein mögliches Ergebnis. In anderen Fällen führte dies ebenfalls zur Befehlsausführung.

Wo es auftritt

Der Angreifer benötigt präpariertes SVG-Markup, um librsvg zu erreichen. Das kann passieren, wenn eine Anwendung eine SVG-Datei akzeptiert, aber auch, wenn die Anwendung ein SVG aus Benutzereingaben erzeugt. Allein die Verwendung von librsvg irgendwo im Abhängigkeitsbaum begründet keinen ausnutzbaren Pfad; die Eingabe muss einen betroffenen Build erreichen, wenn das Bild gerendert wird.

Die von uns getestete Next.js-Route akzeptierte Text anstelle eines SVG-Uploads. Sie platzierte diesen Text in einem Inline-SVG für die Node.js-Version von ImageResponse. Ein separater Escaping-Bug in Satori ermöglichte es dem Text, das generierte SVG-Markup zu verändern. Sharp/libvips übergab dieses SVG dann an librsvg. Vercel verfolgte den Next.js-Pfad als CVE-2026-94545. Die Edge-Version von ImageResponse ist von diesem Pfad nicht betroffen. Hier ist eine kurze Next.js-Reproduktion.

Umfang

Während dieser Recherche identifizierte ich betroffene Eingabepfade in mehreren nachgelagerten Produkten und bestätigte die Befehlsausführung in einigen davon, einschließlich des oben beschriebenen Next.js-Falls. Wie diese Eingabe librsvg erreicht, variiert von Produkt zu Produkt. Deshalb kann ein Upstream-Bug in einem Bildparser an Stellen auftauchen, die auf den ersten Blick nicht zusammenhängen; der jüngste libheif-Fall ist ein weiteres Beispiel. Das bedeutet nicht, dass jedes Produkt, das librsvg verwendet, aus der Ferne ausnutzbar ist.

Was zu aktualisieren ist

  • librsvg: 2.63.2 enthält den Fix, mit einem Backport in 2.62.4. Wenn Sie einen älteren Vendor-Build verwenden, prüfen Sie, ob er den Fix enthält. Siehe die librsvg-Advisory.
  • Next.js: Die Versionen 16.2.0 bis 16.3.5 sind betroffen, wenn eine Anwendung angreiferkontrollierte Werte in SVG-Inhalte, -Attribute oder -Styles auf dem Node.js-ImageResponse-Pfad einfügt. Aktualisieren Sie auf 16.3.6.
  • Satori: Wenn Sie es direkt verwenden, behebt 0.33.5 den separaten Escaping-Bug, der in der Next.js-Route ausgenutzt wurde.

Wenn Sie die vorgefertigten Binaries von Sharp verwenden, prüfen Sie das @img/sharp-libvips-*-Paket, das Ihre App installiert hat. Es bündelt libvips und dessen Abhängigkeiten, einschließlich librsvg. Eine Aktualisierung der Systemkopie von librsvg kann dazu führen, dass Ihre App weiterhin die alte verwendet.

PoCs und was als Nächstes kommt

Der UAF-PoC enthält einen SVG-Generator für mehrere Eingabepfade und kann verwendet werden, um den Use-after-free am Anfang der Chain zu überprüfen.

Bisher habe ich keinen öffentlichen Exploit gefunden, der diese Chain vollständig von präpariertem SVG bis zur Befehlsausführung durchläuft. Der Bug und die Patches sind jedoch bereits öffentlich, und mit aktuellen KI-Tools ist es relativ einfach, daraus die vollständige Chain zurückzuentwickeln. Behandeln Sie den Exploit daher so, als wäre er bereits öffentlich, und aktualisieren Sie betroffene Abhängigkeiten oder entschärfen Sie den Eingabepfad so schnell wie möglich.

[!WARNING] Es gibt keinen universellen RCE-PoC für diese Chain; die Payload muss für jedes Ziel angepasst werden. Die meisten öffentlichen „PoCs", die ich bisher gesehen habe, reproduzieren nicht die tatsächliche RCE-Chain. Einige stützen sich auf SVG <foreignObject> für die behauptete Ausführung, was nicht der hier beschriebene Exploit-Pfad ist.

Für die erste Validierung ist der UAF-PoC praktischer. Ich plane, einen RCE-PoC für den Next.js-Fall (CVE-2026-94545) in einem separaten Repository zu veröffentlichen. Außerdem werde ich in den kommenden Wochen den technischen Write-up veröffentlichen, mit den Schritten vom UAF zur Befehlsausführung und einem Post-Mortem, der diesen vergangenen Monat der Recherche zur Chain abdeckt.

Referenzen

  • librsvg Issue und Fix
  • librsvg RustSec-Advisory
  • Next.js-Sicherheitsupdate und Next.js-Advisory
  • Satori-Advisory
  • Next.js-Reproduktionsbeitrag
Tool herunterladen