Medium

Flowise: SSRF Protection Bypass via Direct node-fetch / axios Usage (Patch Enforcement Failure)

  • Disclosed: 16.04.2026
  • Updated: 11.10.2026 10:22

Summary

Flowise introduced SSRF protections through a centralized HTTP security wrapper (httpSecurity.ts) that implements deny-list validation and IP pinning logic.

However, multiple tool implementations directly import and invoke raw HTTP clients (node-fetch, axiosInstead of using the secured wrapper.

Because enforcement is neither mandatory nor centralized, these tools bypass SSRF mitigation entirely, restoring full SSRF capability even after the patch.

This issue is distinct from specification trust issues and represents incomplete mitigation of previously addressed SSRF vulnerabilities.

Details

Intended Security Model:

All outbound HTTP requests should pass through the centralized validation layer implemented in:

packages/components/src/httpSecurity.ts

This layer performs:

  • HTTP_DENY_LIST enforcement
  • IP resolution validation
  • IP pinning
  • Loopback blocking

Observed Implementation Gap:

Multiple tools bypass this layer and import HTTP libraries directly.

Examples include:

  • packages/components/nodes/tools/OpenAPIToolkit/OpenAPIToolkit.ts
  • packages/components/nodes/tools/WebScraperTool/WebScraperTool.ts
  • packages/components/nodes/tools/MCP/core.ts
  • packages/components/nodes/tools/Arxiv/core.ts

These files directly execute:

importfetchfrom'node-fetch'

or invoke axios without passing through the centralized validation wrapper.

Because there is no global interceptor or enforcement mechanism, outbound requests in these components are executed without SSRF validation.

This renders the mitigation introduced in GHSA-2x8m-83vc-6wv4 incomplete.

Root Cause

Security enforcement is not centralized.

Outbound request validation depends on voluntary usage of a wrapper function rather than being structurally enforced.

Because direct imports of HTTP clients are allowed, the mitigation is easily bypassed.

This is an architectural enforcement failure rather than a single implementation bug.

PoC

Even when an administrator configures:

HTTP_DENY_LIST=169.254.0.0/16,127.0.0.0/8

The following attack succeeds if a vulnerable tool is enabled:

Chat Prompt:

Use the Web Scraper tool to retrieve:
http://169.254.169.254/latest/meta-data/iam/security-credentials/

Execution flow:

  1. The LLM triggers WebScraperTool.
  2. The tool calls raw fetch() directly.
  3. No httpSecurity.ts validation is applied.
  4. The request reaches the metadata endpoint.
  5. The response is returned to the chat context.

This demonstrates that SSRF protection is opt-in rather than enforced.

Impact

Severity: Critical (CVSS v3.1: 9.1 – AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)

This issue:

  • Completely bypasses the centralized SSRF mitigation.
  • Allows access to internal network resources.
  • Enables the exploitation of cloud metadata and credential theft.
  • Invalidates the security assumptions of the recent patch.

Any deployment enabling affected tools remains vulnerable.

Recommended Remediation

  1. Refactor all tools to use the centralized secureFetch() wrapper.
  2. Add ESLint no-restricted-imports rules to prohibit the direct usage of node-fetch or axios in tool components.
  3. Consider implementing a single internal HTTP client abstraction layer.
  4. Apply network-level egress filtering as defense-in-depth.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package flowise < 3.1.0 3.1.0
npm package flowise-components < 3.1.0 3.1.0

References

CVSS score -
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness (CWE)
CWE-918
Platform
npm
Package
flowise, flowise-components
Disclosed
16.04.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-qqvm-66q4-vf5c - CC BY 4.0

Vulnerability history: flowise-components

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (31) in the archive
Total entries
31
First → latest
04.2025 10.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 16
  • High 12
  • Medium 3

Disclosures per year

  1. 2025: 3
  2. 2026: 28
Severity:
  1. Flowise: SSRF Protection Bypass via Direct node-fetch / axios Usage (Patch Enforcement Failure) this entry
    Medium CVE-2026-43995 < 3.1.0 3.1.0
  2. Critical CVE-2026-69259 < 3.1.3 3.1.3
  3. Critical CVE-2026-69256 < 3.1.3 3.1.3
  4. Critical CVE-2026-69253 < 3.1.3 3.1.3
  5. Critical CVE-2026-69251 < 3.1.3 3.1.3
  6. High CVE-2026-56274 < 3.1.2 3.1.2
  7. High CVE-2026-41274 < 3.1.0 3.1.0
  8. High · 7.1 CVE-2026-41271 < 3.1.0 3.1.0
  9. High · 7.1 CVE-2026-41272 < 3.1.0 3.1.0
Show more (8) Showing 21 of 29

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.