Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-33154 — Proof-of-concept exploit per CVE-2026-33154, che dimostra l'esecuzione remota di codice tramite SSTI nel resolver Jinja di Dynaconf, con analisi e indicazioni di mitigazione. | Kitploit
Strumenti/GitHubGitHub/redyank/cve-2026-33154
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebApprendimento e Formazione
GitHubredyank/cve-2026-33154

CVE-2026-33154

Proof-of-concept exploit per CVE-2026-33154, che dimostra l'esecuzione remota di codice tramite SSTI nel resolver Jinja di Dynaconf, con analisi e indicazioni di mitigazione.

Vedi Repository
14 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Report sulla Vulnerabilità SSTI in Dynaconf

Riepilogo

Dynaconf è vulnerabile a Server-Side Template Injection (SSTI) a causa della valutazione non sicura dei template nel resolver __@Jinja__. Quando il pacchetto jinja2 è installato, Dynaconf valuta le espressioni di template incorporate nei valori di configurazione senza un ambiente sandbox.

Se un attaccante può influenzare le sorgenti di configurazione come:

  • Variabili d'ambiente
  • File .env
  • Configurazione dell'ambiente del container
  • Segreti CI/CD

...può eseguire comandi OS arbitrari sul sistema host. Inoltre, il resolver __@Format__ consente la traversata del grafo degli oggetti, che può esporre oggetti runtime sensibili e variabili d'ambiente.


Dettagli

La vulnerabilità nasce dal fatto che i resolver di stringhe di Dynaconf mancano di adeguati confini di sicurezza.

1. Resolver

__@Jinja__

Il resolver __@Jinja__ renderizza i template utilizzando la valutazione completa di Jinja2. Tuttavia, il contesto di rendering non è sandbox, il che consente agli attaccanti di accedere agli attributi interni di Python. Utilizzando oggetti come cycler, gli attaccanti possono raggiungere i globali di Python e importare il modulo os.

Percorso d'attacco di esempio:

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

Questo porta a esecuzione arbitraria di comandi.


2. Resolver __@Format__

Il resolver __@Format__ esegue la formattazione delle stringhe Python utilizzando oggetti interni. Questo consente agli attaccanti di attraversare il grafo degli oggetti di Python e accedere a oggetti runtime sensibili.

Traversata di esempio:

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

Questo può esporre:

  • Chiavi API
  • Credenziali del database
  • Token di servizi interni
  • Segreti d'ambiente

Proof of Concept (PoC)

root@kitploit:~
import os
from dynaconf import Dynaconf

# Iniezione di configurazione dannosa
os.environ["DYNACONF_RCE"] = "@jinja {{ cycler.__init__.__globals__.os.popen('id').read() }}"

settings = Dynaconf()

print("[!] Risultato dell'esecuzione del comando:")
print(settings.RCE)

Impatto

Lo sfruttamento riuscito consente agli attaccanti di:

  • Eseguire comandi OS arbitrari sul sistema host
  • Accedere a variabili d'ambiente sensibili
  • Compromettere i segreti dell'applicazione
  • Compromettere completamente il processo dell'applicazione in esecuzione

Poiché i valori di configurazione possono provenire da pipeline CI/CD, sistemi di orchestrazione dei container o iniezione d'ambiente, questa vulnerabilità può diventare sfruttabile da remoto nelle distribuzioni reali.


Rimedio / Mitigazione

1. Utilizzare la Sandbox di Jinja2 per il Rendering dei Template

root@kitploit:~
from jinja2.sandbox import SandboxedEnvironment

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

2. Limitare l'Uso di __@Format__ a Valori Attendibili

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

Riferimenti

  • GHSA-pxrr-hq57-q35p
  • CVE-2026-33154 — NVD
  • dynaconf/dynaconf@2fbb45e
  • Dynaconf Release 3.2.13
Scarica lo strumento