CVE-2026-23830
SandboxJS présente une évasion de sandbox via le constructeur AsyncFunction non protégé
- Publié
- 27 janv. 2026
- Mise à jour
- 28 janv. 2026
- Attribution de CNA
- GitHub_M
- Preuve observée
- 25 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 65,5 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
SandboxJS est une bibliothèque de sandboxing JavaScript. Les versions antérieures à 0.8.26 présentent une vulnérabilité d'évasion du sandbox due au fait que `AsyncFunction` n'est pas isolé dans `SandboxFunction`. La bibliothèque tente de cloisonner l'exécution du code en remplaçant le constructeur global `Function` par une version sécurisée et cloisonnée (`SandboxFunction`). Cela est géré dans `utils.ts` en mappant `Function` vers `sandboxFunction` dans une map utilisée pour les recherches. Cependant, avant la version 0.8.26, la bibliothèque n'incluait pas de mappages pour `AsyncFunction`, `GeneratorFunction` et `AsyncGeneratorFunction`. Ces constructeurs ne sont pas des propriétés globales mais peuvent être accédés via la propriété `.constructor` d'une instance (par exemple, `(async () => {}).constructor`). Dans `executor.ts`, l'accès aux propriétés est géré. Lorsque le code exécuté dans le sandbox accède à `.constructor` sur une fonction asynchrone (que le sandbox permet de créer), l'`executor` récupère la valeur de la propriété. Étant donné que `AsyncFunction` n'était pas dans la map de remplacement sécurisé, l'`executor` renvoie le constructeur natif hôte réel `AsyncFunction`. Les constructeurs de fonctions en JavaScript (comme `Function`, `AsyncFunction`) créent des fonctions qui s'exécutent dans la portée globale. En obtenant le constructeur hôte `AsyncFunction`, un attaquant peut créer une nouvelle fonction asynchrone qui s'exécute entièrement en dehors du contexte du sandbox, contournant toutes les restrictions et obtenant un accès complet à l'environnement hôte (exécution de code à distance). La version 0.8.26 corrige cette vulnérabilité.
Sources
1- CVE-2026-23830-SandBreakExploit
Génère et fournit des charges utiles d'exploitation pour CVE-2026-23830, une évasion de SandboxJS, avec des modes pour l'exfiltration OOB aveugle et un PoC local de type calc. Prend en charge les écouteurs HTTP/HTTPS et produit des charges utiles JavaScript minifiées.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.