Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 - Alta - Remoto - Escrita de arquivo - magick convert sem assinatura grava como nobody | Kitploit
Ferramentas/GitHubGitHub/abraxas/ats-magick-unsigned
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesSegurança WebLabs e Prática
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 - Alta - Remoto - Escrita de arquivo - magick convert sem assinatura grava como nobody

Ver Repositório
há 14 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - ats-magick-unsigned

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

ats-magick-unsigned

Classe: Escrita de arquivo Alcance: Remoto

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

O magick experimental executa ConvertImageCommand do ImageMagick a partir de ?magick= (argv de conversão em percent+base64) quando plugin.config não tem chave RSA. verified = nullptr == key_. O README afirma que a chave existe para evitar ser explorado. Carregar magick.so sem argumentos é o padrão do plugin.

CONTROL assinado com uma chave pública RSA em plugin.config retorna 403, sem arquivo testemunha. A classe permanece Escrita de arquivo. O policy.xml da distro frequentemente desabilita delegates de URL/shell. Não eleve para RCE.

IDainda sem CVE
ClasseEscrita de arquivo (argv de conversão não assinado)
AlcanceRemoto (?magick= HTTP não autenticado através de magick.so sem chave)
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
ProdutoApache Traffic Server
Afetado10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) magick experimental conversão não assinada
Autenticaçãonenhuma
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1:18800

Fixe a tag pública 10.2.0 peel b1df7334. O lab é um proxy reverso ats-10.2.0-lab:local compilado a partir do código-fonte em loopback. Conversão não assinada -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. Arquivo testemunha de 161 bytes com proprietário nobody. CONTROL assinado 403.

O que um atacante pode fazer

GET /img.png?magick= não autenticado contra uma imagem de origem com Content-Type compatível, com magick.so carregado e sem chave RSA.

MétodoSinkPrivilégio
GET /img.png?magick= não autenticado conversão não assinada -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609) e então ConvertImageCommandIntegridade / Arquivo (comprovado em lab): arquivo testemunha de 161 bytes com proprietário nobody. Logs ImageMagick's syntax. HTTP 200.
Mesma consulta com chave RSA em plugin.configEVP_DigestVerifyFechado (comprovado em lab): 403 falha na verificação de assinatura. Sem arquivo testemunha.
Blob de origem enormeblob_ sem limiteDisponibilidade (inferido): pressão de memória do processo. Irmão do limite do CVE-2026-58186. Não é esta linha Alto.
Delegates de URL / shell do IMpolicy.xmlFechado neste lab: delegates HTTP/HTTPS/URL/MVG/shell nenhum. Não chame de RCE.

Comprovado em lab vs inferido: escrita de arquivo não assinada como nobody, 403 assinado, log de sintaxe são de lab. DoS por blob sem limite é inferido. RCE não é alegado.

Requer: magick.so experimental sem chave de verificação, além de policy.xml do ImageMagick que ainda permita a escrita do caminho de conversão. Não é carregado no plugin.config padrão.

Superfície adjacente que permanece fechada

SuperfícieLab
magick carregado com uma chave pública RSACONTROL 403, control-sigfail=yes, sem arquivo
magick não carregadoconsulta magick é inerte
wasm WASI path_openNOENT
Corpo da requisição como entrada do IMo blob da resposta de origem é a entrada
decodificação limitada do webp_transformCVE-2026-58186 fechado; o blob do magick é o irmão que não foi limitado

Não é CVE-2026-58186. O README do Magick já dizia que a chave existe para evitar ser explorada. O que resta é carregar o plugin sem essa chave.

Lab

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

ou

cd lab
./run.sh

Loopback 127.0.0.1:18800 (CONTROL assinado em um segundo listener). Projeto Compose ats-magick-unsigned. Imagem ats-10.2.0-lab:local. Witness ATS-MAGICK-UNSIGNED-WITNESS. Última linha:

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

A correção

Falhe de forma segura (fail closed) quando key_ for nulo. Não execute ConvertImageCommand no ?magick= do cliente sem um magickSig verificado. Trate uma chave ausente como "plugin mal configurado", não como "conversão sem assinatura está tudo bem". Limite blob_ da mesma forma que o webp_transform foi limitado.

Até então, não carregue magick.so sem uma chave pública RSA de tamanho de produção. O policy.xml da distro não substitui a assinatura.

Referências

  • github.com/apache/trafficserver tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • Relacionado (fechado, não este): CVE-2026-58186 webp_transform bound decode
  • CWE-347 · CWE-73
Baixar ferramenta