
Il bypass della blocklist delle variabili d'ambiente MCP porta a RCE non autenticata in Flowise 3.1.1
CVE 2026-69263 è un bypass della patch che ad agosto 2025 aveva corretto la vecchia vulnerabilità RCE. La patch ha introdotto una denylist che bloccava l'installazione di pacchetti arbitrari.
Poiché npm legge la configurazione dalle variabili d'ambiente, impostare la variabile d'ambiente npm_config_yes=true riattiva il comportamento bloccato.
Flowise 3.1.1, attuale al momento della segnalazione. Corretta nella 3.1.3
La seguente configurazione del server MCP bypassa la patch con CUSTOM_MCP_SECURITY_CHECK=true:
{
"mcpServers": {
"bypass": {
"command": "npx",
"args": ["cowsay"],
"env": {
"npm_config_yes": "true"
}
}
}
}
cowsay è un pacchetto innocuo usato qui solo per dimostrare l'esecuzione. Un vero attaccante sostituirebbe il proprio payload.
Percorso di esecuzione:
validateCommandFlags passa, perché args non contiene flag bloccati.validateEnvironmentVariables passa, perché npm_config_yes non è nella blocklist di quattro elementi.npx installa ed esegue automaticamente il pacchetto specificato, dimostrando che l'esecuzione arbitraria è possibile con i privilegi del processo di Flowise.In una distribuzione predefinita senza autenticazione, qualsiasi utente non autenticato che riesca a raggiungere l'API di Flowise può innescare questa vulnerabilità.
Le seguenti variabili sono anch'esse assenti dalla blocklist e influenzano l'esecuzione tramite gli altri interpreti consentiti:
Questa vulnerabilità RCE è stata divulgata responsabilmente ai manutentori di Flowise tramite il loro repository GitHub. Puoi trovare il rapporto qui
| Variabile | Comando | Effetto |
|---|
npm_config_prefix | npx | Reindirizza l'installazione dei pacchetti verso un percorso controllato dall'attaccante |
npm_config_userconfig | npx | Carica una configurazione .npmrc controllata dall'attaccante |
NODE_PATH | node | Carica moduli da un percorso controllato dall'attaccante |
PYTHONPATH | python3 | Carica moduli da un percorso controllato dall'attaccante |
PYTHONSTARTUP | python3 | Esegue un file all'avvio dell'interprete (solo sessioni interattive) |