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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 – Hoch – Remote – Dateischreiben – unsigniertes magick convert schreibt als nobody | Kitploit
Tools/GitHubGitHub/abraxas/ats-magick-unsigned
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitLabs & Praxis
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 – Hoch – Remote – Dateischreiben – unsigniertes magick convert schreibt als nobody

Repository anzeigen
vor 14 TagenNoch 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

Abraxas Labs - ats-magick-unsigned

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-magick-unsigned

ats-magick-unsigned

Klasse: Dateischreiben Reichweite: Remote

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

Das experimentelle magick führt ImageMagick ConvertImageCommand aus ?magick= (prozent+base64-kodierte convert-argv) aus, wenn plugin.config keinen RSA-Schlüssel enthält. verified = nullptr == key_. Die README gibt an, dass der Schlüssel existiert, um eine Ausnutzung zu vermeiden. Das Laden von magick.so ohne Argumente ist der Plugin-Standard.

Signiertes CONTROL mit einem RSA-Public-Key in plugin.config ergibt 403, keine Witness-Datei. Die Klasse bleibt Dateischreiben. Die policy.xml der Distribution deaktiviert häufig URL-/Shell-Delegates. Nicht zu RCE hochstufen.

IDnoch keine CVE
KlasseDateischreiben (unsignierte convert-argv)
ReichweiteRemote (unauthentifiziertes HTTP ?magick= über magick.so ohne Schlüssel)
CWECWE-347, CWE-73
CVSSHoch: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ProduktApache Traffic Server
Betroffen10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) experimentelles magick mit unsigniertem convert
Authkeine
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18800

Ich habe den öffentlichen Tag 10.2.0 auf den Commit b1df7334 festgelegt. Das Lab ist ein aus dem Quellcode gebauter ats-10.2.0-lab:local-Reverse-Proxy auf Loopback. Unsigned convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. Witness-Datei 161 Bytes, Eigentümer nobody. Signiertes CONTROL 403.

Was ein Angreifer tun kann

Unauth GET /img.png?magick= gegen ein Origin-Bild mit kompatiblem Content-Type, mit geladenem magick.so und ohne RSA-Schlüssel.

MethodeSinkBerechtigung
Unauth GET /img.png?magick= unsigniertes convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609), dann ConvertImageCommandIntegrität / Datei (im Lab nachgewiesen): 161-Byte-Witness-Datei, Eigentümer nobody. Logs ImageMagick's syntax. HTTP 200.
Dieselbe Abfrage mit RSA-Schlüssel in plugin.configEVP_DigestVerifyGeschlossen (im Lab nachgewiesen): 403 Signaturprüfung fehlgeschlagen. Keine Witness-Datei.
Riesiger Origin-Blobunbegrenztes blob_Verfügbarkeit (abgeleitet): Speicherdruck des Prozesses. Pendant zur Begrenzung von CVE-2026-58186. Nicht diese Hoch-Zeile.
IM-URL-/Shell-Delegatespolicy.xmlIn diesem Lab geschlossen: HTTP/HTTPS/URL/MVG/Shell-Delegates keine. Nicht als RCE bezeichnen.

Im Lab nachgewiesen vs. abgeleitet: unsigniertes Dateischreiben als nobody, signiert 403, Syntax-Log sind Lab. Unbegrenzter Blob-DoS ist abgeleitet. RCE wird nicht behauptet.

Voraussetzungen: experimentelles magick.so ohne Verifikationsschlüssel, plus ImageMagick policy.xml, die den Schreibpfad von convert weiterhin erlaubt. In der Standard-plugin.config nicht geladen.

Angrenzende Angriffsfläche, die geschlossen bleibt

AngriffsflächeLab
magick geladen mit einem RSA-Public-KeyCONTROL 403, control-sigfail=yes, keine Datei
magick nicht geladenAbfrage magick ist wirkungslos
wasm WASI path_openNOENT
Request-Body als IM-EingabeOrigin-Response-Blob ist die Eingabe
webp_transform begrenzte DekodierungCVE-2026-58186 geschlossen; magick-Blob ist das Pendant, das nicht begrenzt wurde

Nicht CVE-2026-58186. Die Magick-README besagte bereits, dass der Schlüssel existiert, um eine Ausnutzung zu vermeiden. Das Übriggebliebene ist das Laden des Plugins ohne diesen Schlüssel.

Lab

python3 ats-magick-unsigned-Abraxas-Labs.py

oder

cd lab
./run.sh

Loopback 127.0.0.1:18800 (signiertes CONTROL auf einem zweiten Listener). Compose-Projekt ats-magick-unsigned. Image ats-10.2.0-lab:local. Witness ATS-MAGICK-UNSIGNED-WITNESS. Letzte Zeile:

SUCCESS ats-magick-unsigned unsigned-http=200 file-write=yes uid=nobody syntax-log=true control-http=403 control-sigfail=yes ATS-MAGICK-UNSIGNED-WITNESS

Die Behebung

Fail closed, wenn key_ null ist. Führe ConvertImageCommand nicht auf Client-?magick= ohne verifizierte magickSig aus. Behandle einen fehlenden Schlüssel als „Plugin fehlkonfiguriert“, nicht als „unsignierte Konvertierung ist in Ordnung“. Begrenze blob_ so, wie webp_transform begrenzt wurde.

Bis dahin lade magick.so nicht ohne einen RSA-Public-Key in Produktionsgröße. Die policy.xml der Distribution ist kein Ersatz für die Signatur.

Referenzen

  • github.com/apache/trafficserver Tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • Verwandt (geschlossen, nicht dieses): CVE-2026-58186 webp_transform begrenzte Dekodierung
  • CWE-347 · CWE-73
Tool herunterladen