Exploit catalog results

Showing 1 PoC on this page

Metasploit

Flowise JS Injection RCE

Metasploit exploitby Kim SooHyun (im-soohyun), plus 1 additional contributorAdded to Metasploit 2025-11-19
ExploitCVE-2025-595281 file

exploit_multi/http/flowise_js_rce · Ruby

Analysisdeepseek-v4-pro:cloud ·

Technical assessment

A Metasploit exploit module that achieves remote code execution on Flowise servers by injecting JavaScript code into the mcpServerConfig parameter of the /api/v1/node-load-method/customMCP endpoint, leveraging the convertToValidJSONString function's use of Function() to execute arbitrary commands via child_process.exec.

Backdoor review

No backdoor observed in reviewed code

The Metasploit module exploits a documented CVE-2025-59528 code injection vulnerability in Flowise. It sends a crafted JavaScript payload to the vulnerable endpoint to execute the user-supplied Metasploit payload. No concealed backdoor, unrelated remote access, persistence, or deceptive behavior was observed.

ClassificationExploit
Model confidence100%
AuthenticationNot required
LanguagesRuby
Target softwareFlowise
Attack typesCode InjectionRemote Code Execution
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The module constructs and delivers a payload that executes arbitrary commands on the target via code injection, which is the definition of an exploit. It does not merely detect the vulnerability; it actively exploits it to achieve remote code execution.

modules/exploits/multi/http/flowise_js_rce.rb:120-135modules/exploits/multi/http/flowise_js_rce.rb:138-140

Requirements

  • Target must be running a vulnerable Flowise version (>= 2.2.7-patch.1 and < 3.0.6).modules/exploits/multi/http/flowise_js_rce.rb:19-20
  • For versions < 3.0.1, authentication may not be required if FLOWISE_USERNAME and FLOWISE_PASSWORD are not set.modules/exploits/multi/http/flowise_js_rce.rb:23-25

Observed behavior

  • Sends an HTTP request to the /api/v1/node-load-method/customMCP endpoint with a crafted mcpServerConfig parameter containing JavaScript code that uses child_process.exec to run an attacker-supplied command.modules/exploits/multi/http/flowise_js_rce.rb:120-135
  • Executes a Metasploit payload (e.g., reverse shell) on the target system by passing payload.encoded to the execute_command method.modules/exploits/multi/http/flowise_js_rce.rb:138-140
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Exploit Mechanism
Payload withheldThe module constructs a JavaScript payload that uses process.mainModule.require('child_process').exec() to run the attacker-chosen command, consistent with the described CVE-2025-59528 vulnerability.modules/exploits/multi/http/flowise_js_rce.rb:120-121
Target Behavior
Payload withheldThe exploit method calls execute_command(payload.encoded), which is standard Metasploit exploit behavior to deliver the user-selected payload.modules/exploits/multi/http/flowise_js_rce.rb:138-139
Review boundaries

What the analysis did not establish

  • Only the module source code and metadata are provided; framework mixins (e.g., Msf::Exploit::Remote::HTTP::Flowise) and payloads are not expanded, so the exact HTTP request construction and authentication flow are not fully visible.
  • The evidence does not include any execution output or proof that the exploit was successfully run against a live target.
  • Only the module source and metadata were reviewed; framework mixins (e.g., Msf::Exploit::Remote::HTTP::Flowise) and external payloads were not expanded or inspected.
  • Binary files were flagged as metadata-only and not analyzed, but no binary files were present in the evidence.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.