Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 - Élevé - À distance - Écriture de fichier - magick convert non signé écrit en tant que nobody | Kitploit
Outils/GitHubGitHub/abraxas/ats-magick-unsigned
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsSécurité WebLabs et Pratique
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 - Élevé - À distance - Écriture de fichier - magick convert non signé écrit en tant que nobody

Voir le dépôt
il y a 14 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - ats-magick-unsigned

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

ats-magick-unsigned

Classe : Écriture de fichier Portée : Distante

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

Le module expérimental magick exécute ConvertImageCommand d'ImageMagick à partir de ?magick= (argv de conversion en percent+base64) lorsque plugin.config ne contient aucune clé RSA. verified = nullptr == key_. Le README indique que la clé existe pour éviter d'être exploité. Charger magick.so sans argument correspond au comportement par défaut du plugin.

Un CONTROL signé avec une clé publique RSA dans plugin.config renvoie 403, sans fichier témoin. La classe reste Écriture de fichier. Le policy.xml de la distribution désactive souvent les délégués URL/shell. Ne pas surévaluer en RCE.

IDpas encore de CVE
ClasseÉcriture de fichier (argv de conversion non signé)
PortéeDistante (HTTP non authentifié ?magick= via magick.so sans clé)
CWECWE-347, CWE-73
CVSSÉlevé : 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ProduitApache Traffic Server
Affecté10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) conversion non signée du module expérimental magick
Authaucune
LicenceGNU Affero GPL v3.0
Lab127.0.0.1:18800 uniquement

J'ai épinglé le tag public 10.2.0 correspondant au commit b1df7334. Le lab est un reverse proxy ats-10.2.0-lab:local compilé depuis les sources sur la boucle locale. La conversion non signée -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. Fichier témoin de 161 octets appartenant à nobody. CONTROL signé 403.

Ce qu'un attaquant peut faire

GET /img.png?magick= non authentifié contre une image d'origine d'un Content-Type compatible, avec magick.so chargé et sans clé RSA.

MéthodePoint d'impactPrivilège
GET /img.png?magick= non authentifié, conversion non signée -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609) puis ConvertImageCommandIntégrité / Fichier (prouvé en lab) : fichier témoin de 161 octets appartenant à nobody. Journaux ImageMagick's syntax. HTTP 200.
Même requête avec une clé RSA dans plugin.configEVP_DigestVerifyFermé (prouvé en lab) : 403 échec de vérification de signature. Aucun fichier témoin.
Blob d'origine volumineuxblob_ non bornéDisponibilité (déduit) : pression sur la mémoire du processus. Voisin du plafond de CVE-2026-58186. Pas cette ligne Élevé.
Délégués URL / shell d'IMpolicy.xmlFermé dans ce lab : délégués HTTP/HTTPS/URL/MVG/shell absents. Ne pas qualifier de RCE.

Prouvé en lab vs déduit : écriture de fichier non signée en tant que nobody, 403 signé, journal de syntaxe sont prouvés en lab. Le DoS par blob non borné est déduit. La RCE n'est pas revendiquée.

Nécessite : le module expérimental magick.so sans clé de vérification, plus un policy.xml d'ImageMagick qui autorise encore l'écriture via le chemin de conversion. Non chargé dans le plugin.config par défaut.

Surface adjacente qui reste fermée

SurfaceLab
magick chargé avec une clé publique RSACONTROL 403, control-sigfail=yes, aucun fichier
magick non chargéle paramètre magick est inerte
wasm WASI path_openNOENT
Corps de requête comme entrée IMle blob de réponse d'origine est l'entrée
décodage borné de webp_transformCVE-2026-58186 fermé ; le blob magick est le voisin qui n'a pas été borné

Ce n'est pas CVE-2026-58186. Le README de Magick indiquait déjà que la clé existe pour éviter d'être exploitée. Ce qui reste, c'est le chargement du plugin sans cette clé.

Lab

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

ou

cd lab
./run.sh

Loopback 127.0.0.1:18800 (CONTROL signé sur un second listener). Projet Compose ats-magick-unsigned. Image ats-10.2.0-lab:local. Témoin ATS-MAGICK-UNSIGNED-WITNESS. Dernière ligne :

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

Le correctif

Échouer en mode fermé lorsque key_ est null. Ne pas exécuter ConvertImageCommand sur le ?magick= du client sans un magickSig vérifié. Traiter une clé manquante comme « plugin mal configuré », et non comme « une conversion non signée est acceptable ». Plafonner blob_ de la même manière que webp_transform a été plafonné.

En attendant, ne pas charger magick.so sans une clé publique RSA de taille production. Le policy.xml de la distribution ne remplace pas la signature.

Références

  • github.com/apache/trafficserver tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • Voisin (fermé, sans rapport avec celui-ci) : CVE-2026-58186 webp_transform bound decode
  • CWE-347 · CWE-73
Télécharger l’outil