Skip to content

OverrideConfig security vulnerability

High
HenryHengZJ published GHSA-5cph-wvm9-45gj Nov 21, 2024

Package

npm flowise (npm)

Affected versions

<2.1.4

Patched versions

>=2.1.4

Description

Impact

Flowise allows developers to inject configuration into the Chainflow during execution through the overrideConfig option. This is supported in both the frontend web integration and the backend Prediction API.

This has a range of fundamental issues that I believe are a major security vulnerability.
While this feature is intentional I think it should have strong protections added and be disabled by default.

These issues include:

  1. Remote code execution. While inside a sandbox this allows for
  2. Sandbox escape
  3. DoS by crashing the server
  4. SSRF
  5. Prompt Injection, both System and User
  6. Full control over LLM prompts
  7. Server variable and data exfiltration
    And many many more such as altering the flow of a conversation, prompt exfiltration via LLM proxying etc.

These issues are self-targeted and do not persist to other users but do leave the server and business exposed.
All issues are shown with the API but also work with the web embed.

Workarounds

  • overrideConfig should be disabled by default
  • overrideConfig should have an explicit allow list of variables that are allowed to be modified. This way the user opts-in to where modifications can be made.
  • vm2 and any forks of it should be removed as in the authors own words, "fixing the vulnerability seems impossible". The recommended replacement is https://www.npmjs.com/package/isolated-vm

Severity

High

CVE ID

No known CVE

Weaknesses

No CWEs

Credits