CVE-2026-69259: Flowise: RCE via SQLite path overwrite + root Docker
GHSA-x3hf-7cj6-3r4m UNKNOWN CISA: ATTENDFlowise's SQLite Record Manager node fails to validate a user-supplied additionalConfig object, letting an authenticated attacker overwrite the intended database file path and redirect writes to arbitrary filesystem locations. Because the official Docker image runs as root, the attacker can write a crafted SQLite file to /etc/chromium/exploit.conf and embed shell syntax via the table name and namespace fields, which executes the next time Flowise's Puppeteer integration launches Chromium and the runtime sources /etc/chromium/*.conf. There's no CISA KEV listing, no public exploit or Nuclei template, and EPSS sits at a low 0.35% — CISA's SSVC decision is ATTEND, meaning track but not urgent remediation. The requirement for an authenticated account and specific Docker misconfiguration knowledge (root user, Chromium config sourcing) keeps real-world exploitation likelihood modest, but the blast radius is total container compromise for any self-hosted Flowise agent workflow. Patch to flowise/flowise-components 3.1.3 immediately, and independently harden the container to run as a non-root user regardless of patch status.
What is the risk?
Moderate-to-high technical severity (root-level code execution) offset by a meaningful precondition: the attacker must already hold an authenticated Flowise account and understand the specific database-path-overwrite plus Chromium-config-sourcing chain. No CVSS score is published, it's absent from CISA KEV, no public exploit code or Nuclei template exists, and EPSS is low (0.35%). CISA SSVC rates it ATTEND. The real risk driver is deployment hygiene: the vulnerability is only dangerous to the extent the published Docker image (running as root) is used unmodified in production, which is a common default for self-hosted low-code AI agent platforms.
How does the attack unfold?
What systems are affected?
How severe is it?
What should I do?
1 step-
Upgrade flowise and flowise-components to 3.1.3 or later immediately. As a compensating control, rebuild/run the Flowise Docker image with a non-root user regardless of patch status — this single change breaks the exploit's ability to write to /etc/chromium/. Restrict which authenticated users/roles can create or edit Record Manager nodes and audit additionalConfig fields for unexpected database/table/namespace values. Detection: monitor for unexpected writes under /etc/chromium/, unexpected SQLite files outside the app's data directory, and anomalous shell execution spawned from the Chromium/Puppeteer process tree.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-69259?
Flowise's SQLite Record Manager node fails to validate a user-supplied additionalConfig object, letting an authenticated attacker overwrite the intended database file path and redirect writes to arbitrary filesystem locations. Because the official Docker image runs as root, the attacker can write a crafted SQLite file to /etc/chromium/exploit.conf and embed shell syntax via the table name and namespace fields, which executes the next time Flowise's Puppeteer integration launches Chromium and the runtime sources /etc/chromium/*.conf. There's no CISA KEV listing, no public exploit or Nuclei template, and EPSS sits at a low 0.35% — CISA's SSVC decision is ATTEND, meaning track but not urgent remediation. The requirement for an authenticated account and specific Docker misconfiguration knowledge (root user, Chromium config sourcing) keeps real-world exploitation likelihood modest, but the blast radius is total container compromise for any self-hosted Flowise agent workflow. Patch to flowise/flowise-components 3.1.3 immediately, and independently harden the container to run as a non-root user regardless of patch status.
Is CVE-2026-69259 actively exploited?
No confirmed active exploitation of CVE-2026-69259 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-69259?
Upgrade flowise and flowise-components to 3.1.3 or later immediately. As a compensating control, rebuild/run the Flowise Docker image with a non-root user regardless of patch status — this single change breaks the exploit's ability to write to /etc/chromium/. Restrict which authenticated users/roles can create or edit Record Manager nodes and audit additionalConfig fields for unexpected database/table/namespace values. Detection: monitor for unexpected writes under /etc/chromium/, unexpected SQLite files outside the app's data directory, and anomalous shell execution spawned from the Chromium/Puppeteer process tree.
What systems are affected by CVE-2026-69259?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, RAG pipelines, browser automation/tool use, vector/record management.
What is the CVSS score for CVE-2026-69259?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049 Exploit Public-Facing Application AML.T0050 Command and Scripting Interpreter AML.T0053 AI Agent Tool Invocation AML.T0081 Modify AI Agent Configuration Compliance Controls Affected
What are the technical details?
Original Advisory
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, the SQLite Record Manager node in packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts accepted user-controlled additionalConfig and spread it after the intended database setting, allowing additionalConfig.database to overwrite the SQLite database path. An authenticated attacker using the published Docker image, which ran as root, could write a SQLite database to paths such as /etc/chromium/exploit.conf; by controlling the table name and namespace value, the attacker could place shell syntax into the database file and trigger execution when Puppeteer launched Chromium and sourced /etc/chromium/*.conf. This issue is fixed in version 3.1.3.
Exploitation Scenario
An attacker with a valid (even low-privilege) Flowise account configures a SQLite Record Manager node in a flow and sets additionalConfig.database to /etc/chromium/exploit.conf, which the vulnerable code spreads over the intended path. They craft the table name and namespace values to embed shell command syntax, then save the flow so Flowise writes the malicious SQLite file to that path. Next, they trigger any flow feature that invokes Puppeteer to launch Chromium (e.g., a web-scraping or screenshot tool node); Chromium's startup process sources files under /etc/chromium/*.conf, executing the attacker's injected shell syntax as root inside the container — giving full control of the Flowise instance and everything it can reach.
Weaknesses (CWE)
CWE-94 Improper Control of Generation of Code ('Code Injection')
Primary
CWE-94 Improper Control of Generation of Code ('Code Injection')
Primary
CWE-94 Improper Control of Generation of Code ('Code Injection') CWE-94 — Improper Control of Generation of Code ('Code Injection'): The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
- [Architecture and Design] Refactor your program so that you do not have to dynamically generate code.
- [Architecture and Design] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which code can be executed by your product. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2025-71338 10.0 Flowise: unauthenticated file write enables RCE
Same package: flowise CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same package: flowise CVE-2025-61913 9.9 Flowise: path traversal in file tools leads to RCE
Same package: flowise CVE-2026-40933 9.9 Flowise: RCE via MCP stdio command injection
Same package: flowise CVE-2026-46442 9.9 Flowise: sandbox escape enables authenticated RCE
Same package: flowise