Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
Tarmageddon-CVE-2025-62518- — PoC für CVE-2025-62518, der Tar-Archiv-Schmuggel über tokio-tar PAX-Header-Parsing demonstriert, bösartige Payloads und einen verwundbaren Extractor erstellt, um Supply-Chain-Injection zu zeigen. | Kitploit
Tools/GitHubGitHub/airineiandrei/tarmageddon-cve-2025-62518-
SchwachstellenanalyseExploitationMalware-AnalyseLieferkettensicherheitPapers & ForschungLernen & Bildung
GitHubairineiandrei/tarmageddon-cve-2025-62518-

Tarmageddon-CVE-2025-62518-

PoC für CVE-2025-62518, der Tar-Archiv-Schmuggel über tokio-tar PAX-Header-Parsing demonstriert, bösartige Payloads und einen verwundbaren Extractor erstellt, um Supply-Chain-Injection zu zeigen.

Repository anzeigen
3vor 7 MonatenNoch 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

Tarmageddon CVE-2025-62518

Video: https://youtu.be/EYBB4BHsp9E

Repository-Verzeichnisse

  • vulnerable-extract minimales reproduzierbares Beispiel, nimmt einen Pfad als Argument und extrahiert diese Datei nach ./output
  • malicious-payload erstellt ein einfaches malicious.tar-Archiv mit einem Beispiel für geschmuggelten Inhalt; Kommentare erklären Schritt für Schritt und Block für Block, was getan wird.

Reproduktion

Verwenden Sie das bereitgestellte Reproduktion-Skript oder führen Sie es manuell durch

Führen Sie malicious-payload aus, um das Payload zu generieren

malicious.tar

Übergabe dieser Datei an unsere vulnerable-extract-App ergibt:

root@kitploit:~
/vulnerable-extract$ ll output/
total 12
drwxrwxr-x 2 airinei airinei 4096 Jan 19 22:40 ./
drwxrwxr-x 5 airinei airinei 4096 Jan 19 22:40 ../
-rw-rw-r-- 1 airinei airinei    0 Jan  1  1970 benign_file.txt
-rw-rw-r-- 1 airinei airinei   18 Jan  1  1970 sh_profile_hijack

Während die Ausführung des von unserem Betriebssystem bereitgestellten tar-Dienstprogramms ((GNU tar) 1.35 in diesem Fall) Folgendes ergibt:

root@kitploit:~
malicious-payload$ tar -tvf malicious.tar
---------- 0/0            1024 1970-01-01 02:00 benign_file.txt

Beachten Sie, dass es die Größe der Datei als 1024 ansieht

Alternativ extrahiert die Verwendung von astral-tokio-tar 0.5.6 anstelle des veralteten tokio-tar 0.3.1 das Archiv korrekt.

Writeup

CVE-2025-62518 (TARmageddon) ist eine Sicherheitslücke, die in der Rust-Bibliothek tokio-tar gefunden wurde (Rust-Verwundbarkeit 😮). Es handelt sich um einen Logikfehler in der Art und Weise, wie die Header des tar-Formats geparst werden, der es einem Angreifer ermöglicht, Dateien einzuschleusen.

Der Fehler liegt in der Logik zur Verarbeitung von PAX-Erweiterten Headern. In einem TAR-Archiv gibt es verschiedene Header-Typen:

  • USTAR: Der Standardheader mit Dateiname, Berechtigungen und Größe.
  • PAX (Typ x): Ein Erweiterungsheader, der verwendet wird, um Metadaten (wie eine sehr große Dateigröße) für die nächste Datei im Archiv bereitzustellen.

Wenn ein PAX-Header vorhanden ist, muss ein Parser die tatsächliche Dateigröße ermitteln, indem er die PAX-Metadaten gegenüber dem Standard-USTAR-Header priorisiert.

Aber WARUM gibt es 2 Header-Typen, die Prioritäten für das zu haben scheinen, was wie dasselbe aussieht? Weil das TAR-Format alt ist (standardisiert in 1988), und USTAR seine Grenzen hat (Größe bis zu 8GB, Dateiname bis zu 256 Zeichen). Das ist ein Problem, daher wurde der PAX-Header in 2001 hinzugefügt, um größere Dateien und längere Dateinamen zu ermöglichen.

In anfälligen Versionen von tokio-tar übernimmt der Parser korrekt die Größe aus dem PAX-Header für den Dateiinhaltsleser, verwendet aber fälschlicherweise die Größe aus dem USTAR-Header, um zu bestimmen, wo der nächste Datei-Header beginnt.

Der Kern des Problems ist eine Zeigerinkongruenz (Pointer Mismatch). Wenn die anfällige Bibliothek eine Datei verarbeitet, verwendet sie zwei verschiedene interne "Köpfe", um den Stream zu lesen:

  1. Der Inhaltskopf (Content Head): Verantwortlich für das Lesen der eigentlichen Bytes der Datei und das Schreiben auf die Festplatte.
  2. Der Parserkopf (Parser Head): Verantwortlich für das Überspringen von Dateidaten, um den nächsten Datei-Header zu finden.

In einem normalen Archiv stimmen diese beiden Köpfe überein. In TARmageddon zwingen wir sie zum Widerspruch. Indem wir die PAX-Größe auf 1024 und die USTAR-Größe auf 0 setzen, erzeugen wir ein Paradoxon:

  • Der Inhaltskopf liest 1024 Bytes und legt sie in benign_file.txt ab.
  • Der Parserkopf sieht die 0 im USTAR-Header und denkt: "Ich bin bereits am Ende der Datei." Er bleibt genau dort, wo er ist.

Folglich behandelt der Parserkopf die Daten innerhalb des 1024-Byte-Blocks als den nächsten Befehlssatz. Wenn diese Daten wie ein gültiger TAR-Header aussehen, wird die Bibliothek eine zweite Datei "entdecken" und extrahieren, die technisch gesehen gemäß der globalen Struktur des Archivs nicht existiert.

Das Schmuggel-Payload:

Das Payload wird als eine Sequenz von 512-Byte-Blöcken erstellt. Hier ist das Layout, das im malicious-payload-Generator verwendet wird:

BlockRolleBeschreibung
1 & 2PAX-MetadatenBehauptet, dass die nächste Datei 1024 Bytes lang ist.
3Basis-Headerbenign.txt. Setzt entscheidend die Größe auf 0.
4Geschmuggelter Headerbackdoor.sh. Versteckt im "Daten"-Bereich.
5Geschmuggelte DatenDer schädliche Inhalt (z.B. Shell-Aliase).
6 & 7EOFStandard-Nullblock-Terminierung.

Da Standardwerkzeuge (wie GNU tar) die PAX-Größe korrekt befolgen, sehen sie Block 4 und 5 als harmlose Binärdaten, die zu benign_file.txt gehören. Sie "führen" den Header in Block 4 niemals aus.

Wie ist dies eine Sicherheitslücke, und eine CVSS 8.1?

Wie kann diese Crate mit einer Sicherheitslücke ausgenutzt werden, warum ist es von Bedeutung, dass eine Datei in ein Archiv eingeschmuggelt wird?

Lieferketten-Injektion:

Ein Angreifer schmuggelt schädliche Dateien in ein Build-System. Das Extrahieren dieser Dateien, entweder für die Entwicklung oder auf einer CI-Maschine, kann legitime Build-Dateien überschreiben, diese Maschine kompromittieren und sogar das Build-System dazu verleiten, schädliche Dateien zu signieren.

Sicherheitsumgehung (WAF/AV):

Ein Scanner inspiziert ein .tar, scannt es nur im korrekten Modus, unerwünschte Dateien könnten bei der Extraktion vorhanden sein, wurden aber nicht gescannt.

Inspiriert von diesem Writeup

Tool herunterladen