Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 - Alta - Remota - Escritura de archivos - magick convert sin firmar escribe como nobody | Kitploit
Herramientas/GitHubGitHub/abraxas/ats-magick-unsigned
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad WebLabs y Práctica
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 - Alta - Remota - Escritura de archivos - magick convert sin firmar escribe como nobody

Ver Repositorio
hace 14 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Abraxas Labs - ats-magick-unsigned

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

ats-magick-unsigned

Clase: Escritura de archivos Alcance: Remoto

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

El magick experimental ejecuta ConvertImageCommand de ImageMagick desde ?magick= (argv de convert en porcentaje+base64) cuando plugin.config no tiene clave RSA. verified = nullptr == key_. El README indica que la clave existe para evitar ser explotado. Cargar magick.so sin argumentos es el comportamiento predeterminado del plugin.

CONTROL firmado con una clave pública RSA en plugin.config devuelve 403, sin archivo testigo. La clase sigue siendo Escritura de archivos. El policy.xml de la distro a menudo desactiva los delegados de URL/shell. No lo eleve a RCE.

IDaún sin CVE
ClaseEscritura de archivos (argv de convert sin firmar)
AlcanceRemoto (?magick= HTTP sin autenticación a través de magick.so sin clave)
CWECWE-347, CWE-73
CVSSAlto: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ProductoApache Traffic Server
Afectado10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) convert sin firmar de magick experimental
Autenticaciónninguna
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1:18800

Fijé la etiqueta pública 10.2.0 peel b1df7334. El laboratorio es un proxy inverso ats-10.2.0-lab:local compilado desde código fuente en loopback. Convert sin firmar -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. Archivo testigo de 161 bytes con propietario nobody. CONTROL firmado 403.

Qué puede hacer un atacante

GET /img.png?magick= sin autenticación contra una imagen de origen con un Content-Type compatible, con magick.so cargado y sin clave RSA.

MétodoSumideroPrivilegio
GET /img.png?magick= sin autenticación convert sin firmar -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609) luego ConvertImageCommandIntegridad / Archivo (probado en laboratorio): archivo testigo de 161 bytes con propietario nobody. Registros ImageMagick's syntax. HTTP 200.
Misma consulta con clave RSA en plugin.configEVP_DigestVerifyCerrado (probado en laboratorio): 403 falló la verificación de firma. Sin archivo testigo.
Blob de origen enormeblob_ sin límiteDisponibilidad (inferido): presión de memoria del proceso. Hermano del límite de CVE-2026-58186. No es esta fila Alta.
Delegados URL / shell de IMpolicy.xmlCerrado en este laboratorio: delegados HTTP/HTTPS/URL/MVG/shell ninguno. No lo llame RCE.

Probado en laboratorio vs inferido: escritura de archivos sin firmar como nobody, 403 firmado, registro de sintaxis son de laboratorio. El DoS por blob sin límite es inferido. No se afirma RCE.

Requiere: magick.so experimental sin clave de verificación, más un policy.xml de ImageMagick que aún permita la escritura de la ruta de convert. No se carga en el plugin.config predeterminado.

Superficie adyacente que permanece cerrada

SuperficieLaboratorio
magick cargado con una clave pública RSACONTROL 403, control-sigfail=yes, sin archivo
magick no cargadola consulta magick es inerte
wasm WASI path_openNOENT
Cuerpo de la solicitud como entrada de IMel blob de respuesta del origen es la entrada
decodificación acotada de webp_transformCVE-2026-58186 cerrado; el blob de magick es el hermano que no fue acotado

No es CVE-2026-58186. El README de Magick ya indicaba que la clave existe para evitar ser explotado. Lo que queda es cargar el plugin sin esa clave.

Laboratorio

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

o

cd lab
./run.sh

Loopback 127.0.0.1:18800 (CONTROL firmado en un segundo listener). Proyecto de Compose ats-magick-unsigned. Imagen ats-10.2.0-lab:local. Testigo ATS-MAGICK-UNSIGNED-WITNESS. Última línea:

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

La solución

Cerrar por defecto cuando key_ es null. No ejecutar ConvertImageCommand en el ?magick= del cliente sin un magickSig verificado. Tratar una clave ausente como "plugin mal configurado", no como "la conversión sin firma está bien". Limitar blob_ de la misma forma en que se limitó webp_transform.

Hasta entonces, no cargar magick.so sin una clave pública RSA de tamaño de producción. El policy.xml de la distro no sustituye a la firma.

Referencias

  • github.com/apache/trafficserver etiqueta 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • Relacionado (cerrado, no este): CVE-2026-58186 decodificación acotada de webp_transform
  • CWE-347 · CWE-73
Descargar herramienta