CVE-2026-23830
SandboxJS presenta una Sandbox Escape tramite il costruttore AsyncFunction non protetto
- Pubblicato
- 27 gen 2026
- Aggiornato
- 28 gen 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 65,5%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
SandboxJS è una libreria di sandboxing per JavaScript. Le versioni precedenti alla 0.8.26 presentano una vulnerabilità di fuga dalla sandbox dovuta al fatto che `AsyncFunction` non è isolata in `SandboxFunction`. La libreria tenta di isolare l'esecuzione del codice sostituendo il costruttore globale `Function` con una versione sicura e sandboxed (`SandboxFunction`). Questo viene gestito in `utils.ts` mappando `Function` a `sandboxFunction` all'interno di una mappa utilizzata per le ricerche. Tuttavia, prima della versione 0.8.26, la libreria non includeva le mappature per `AsyncFunction`, `GeneratorFunction` e `AsyncGeneratorFunction`. Questi costruttori non sono proprietà globali ma possono essere accessibili tramite la proprietà `.constructor` di un'istanza (ad esempio, `(async () => {}).constructor`). In `executor.ts`, viene gestito l'accesso alle proprietà. Quando il codice in esecuzione all'interno della sandbox accede a `.constructor` su una funzione asincrona (che la sandbox consente di creare), l'`executor` recupera il valore della proprietà. Poiché `AsyncFunction` non era nella mappa delle sostituzioni sicure, l'`executor` restituisce il costruttore nativo host effettivo `AsyncFunction`. I costruttori per le funzioni in JavaScript (come `Function`, `AsyncFunction`) creano funzioni che vengono eseguite nell'ambito globale. Ottenendo il costruttore host `AsyncFunction`, un attaccante può creare una nuova funzione asincrona che viene eseguita interamente al di fuori del contesto della sandbox, bypassando tutte le restrizioni e ottenendo pieno accesso all'ambiente host (Remote Code Execution). La versione 0.8.26 corregge questa vulnerabilità.
Fonti
1- CVE-2026-23830-SandBreakExploit
Genera e fornisce payload di exploit per CVE-2026-23830, una sandbox escape di SandboxJS, con modalità per l'esfiltrazione OOB cieca e il PoC locale di calc. Supporta listener HTTP/HTTPS e produce payload JavaScript minificati.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.