
Preuve de concept d'exploitation pour CVE-2026-26215, une vulnérabilité d'exécution de code à distance non authentifiée dans manga-image-translator via une désérialisation pickle non sécurisée.
Instagram : @banyamer_security
GitHub : @mbanyamer
Preuve de concept pour CVE-2026-26215 - Exécution de code à distance non authentifiée via une désérialisation Pickle non sécurisée dans manga-image-translator ≤ beta-0.3.
CVE-2026-26215 est une vulnérabilité d'exécution de code à distance non authentifiée dans versions ≤ beta-0.3 fonctionnant en mode API partagée.
Les points de terminaison /execute/{method_name} et /simple_execute/{method_name} désérialisent les corps de requête contrôlés par l'attaquant en utilisant pickle.loads() sans aucune validation. Le mécanisme d'authentification basé sur un nonce est complètement contourné car il utilise par défaut une chaîne vide.
Cela permet :
| Statut | Version |
|---|---|
| ❌ Vulnérable | manga-image-translator ≤ beta-0.3 |
| ✅ Corrigé | Pas encore publié |
Testé sur : Docker (zyddnys/manga-image-translator:main), Linux
| Vecteur | Description |
|---|---|
| CVSS v4 | 9.3 (Critique) - AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H |
| Authentification | Aucune - Complètement non authentifiée |
| Vecteur d'attaque | Réseau |
| Complexité | Faible |
pickle.loads(await request.body()) appelé directement sur l'entrée de l'attaquantself.nonce utilise par défaut None, contournant entièrement la vérification du nonce/execute/ et /simple_execute/ exposés sans contrôles d'accès appropriésgraph LR
A[L'attaquant crée une charge utile pickle malveillante] --> B[Envoie une requête POST à /execute/translate]
B --> C[Le serveur appelle pickle.loads sur le corps de la requête]
C --> D[La méthode __reduce__ s'exécute]
D --> E[os.system est appelé avec la commande de l'attaquant]
E --> F[Exécution de code à distance]