CVE-2026-69257
PoC moderateSSRF Bypass via IPv4-Mapped IPv6 Addresses in Flowise Prior to 3.1.3
Flowise, an open-source drag-and-drop UI for building LLM workflows, failed to normalize IPv4-mapped IPv6 addresses (e.g., ::ffff:169.254.169.254) in its HTTP security module (httpSecurity.ts) before applying IP deny-list checks, causing IPv4 CIDR rules to be skipped for these addresses. An attacker who controls DNS resolution for a hostname used in components such as the HTTP Node, API Chain, Document Loader, or MCP tools could return a AAAA record resolving to an IPv4-mapped address and bypass SSRF protections, redirecting requests to localhost, internal services, or cloud metadata endpoints. Successful exploitation can expose sensitive internal data or cloud credentials (high confidentiality and integrity impact), though it requires the attacker to influence DNS for a hostname used by the application (AT:P) and some level of privileges (PR:L). All self-hosted Flowise deployments prior to version 3.1.3 are affected; the flaw is fixed in version 3.1.3. Technical details are public via a GitHub security advisory, but EPSS is low (0.3%) and there is no evidence of exploitation in the wild.
What to do: Upgrade Flowise to version 3.1.3 or later, which normalizes IPv4-mapped IPv6 addresses before deny-list checks. Until patched, restrict Flowise's outbound network access at the network layer (deny egress to link-local 169.254.169.254, loopback, and internal RFC1918 ranges regardless of protocol family) and validate or pin DNS for hostnames used in HTTP Nodes, API Chains, Document Loaders, and MCP tools. Review logs for flows that resolved attacker-controllable hostnames or fetched metadata/internal endpoints.
| flowiseai flowise | < 3.1.3 (fixed in 3.1.3) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, Flowise's HTTP security module httpSecurity.ts did not normalize IPv4-mapped IPv6 addresses such as ::ffff:127.0.0.1 and ::ffff:169.254.169.254 before checking them against the deny list. Because ipaddr.js reports these addresses as ipv6 while IPv4 CIDR deny-list entries are ipv4, isDeniedIP() skipped the IPv4 CIDR checks. An attacker who controls DNS resolution for a hostname used by the HTTP Node, API Chain, Document Loader, MCP tool, or other paths using secureAxiosRequest(), secureFetch(), or checkDenyList() could return a AAAA record for an IPv4-mapped target and cause requests to reach localhost, internal services, or cloud metadata endpoints. This issue is fixed in version 3.1.3.
- Vendors
- flowiseai
- Products
- flowise
- Weakness
- CWE-918, CWE-1389
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.