CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-69258

CVE-2026-69258: Unauthenticated Property Injection and Authorization Bypass in Flowise

Amit Schendel
Amit Schendel
Senior Security Researcher

Aug 4, 2026·5 min read·34 visits

Executive Summary (TL;DR)

An unauthenticated property injection vulnerability in Flowise (< 3.1.3) allows remote attackers to overwrite critical workflow parameters, facilitating session hijacking and prompt injection.

CVE-2026-69258 is a high-severity property injection and unauthenticated authorization bypass vulnerability in Flowise, a drag-and-drop orchestration interface for building customized LLM workflows. In affected versions prior to 3.1.3, the unauthenticated prediction API endpoint (`POST /api/v1/prediction/:id`) processed client-controlled parameters inside an `overrideConfig` payload without authorization checks. The backend unconditionally spread this object into internal context structures, enabling unauthenticated remote attackers to overwrite critical session values, pollute execution contexts, and bypass flow restrictions.

Vulnerability Overview

Flowise is an open-source low-code platform designed to orchestrate Large Language Model (LLM) workflows. The system maps distinct nodes representing agents, vector stores, prompt templates, and chat memory states into unified directed graphs. To facilitate real-time interactions, the server exposes public endpoints, including the prediction API route located at POST /api/v1/prediction/:id.

This endpoint accepts a runtime payload, which can include an optional overrideConfig object. The purpose of overrideConfig is to adjust runtime execution arguments for specific workflow elements. However, in vulnerable configurations, the application accepts and processes these parameters without validating authorization states.

The unauthenticated prediction endpoint merges incoming configuration overrides directly into the execution context. An attacker can manipulate this behavior to inject arbitrary properties, leading to CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes) and CWE-639 (Authorization Bypass Through User-Controlled Key).

Root Cause Analysis

The root cause of this vulnerability lies in the unsafe application of the ES6 spread operator (...) to unsanitized, user-supplied JSON objects. In JavaScript, when properties are merged using the spread operator, any key-value pairs matching existing properties will silently overwrite the previous declarations.

The Flowise backend executed this spread operation when constructing execution contexts within three major modules: buildAgentflow.ts, buildChatflow.ts, and utils/index.ts. Because the application failed to implement validation checks or schema enforcement before merging, incoming variables received priority.

Specifically, the application skipped validating the apiOverrideStatus parameter, which is intended to check if overrides are permitted on the active flow. This omission allowed any unauthenticated attacker to inject conflicting variables—such as sessionId or chatHistory—into the active memory configuration, causing the server to process arbitrary falsified data.

Code-Level Analysis

The vulnerability is localized to several core orchestration helper files where internal execution state objects are instantiated. In packages/server/src/utils/buildChatflow.ts, the context mapping occurred as follows:

// Vulnerable context construction in buildChatflow.ts
const flowData: ICommonObject = {
    chatId,
    sessionId,
    chatHistory,
    apiMessageId,
    ...incomingInput.overrideConfig // Vulnerable spread
}

A similar implementation error existed in packages/server/src/utils/buildAgentflow.ts and packages/server/src/utils/index.ts where arbitrary fields from the client-side overrideConfig were directly spread into state configurations:

// Vulnerable state merge in buildAgentflow.ts
const flowConfig = {
    apiMessageId,
    chatHistory,
    runtimeChatHistoryLength: Math.max(0, runtimeChatHistory.length - 1),
    state: updatedState,
    ...overrideConfig // Vulnerable spread
}

The fix, introduced in commit 23b997ee5ef9e269b628bad0f56f1ecb86bd2fca, removes the spread operators completely. The variables are now defined strictly and statically:

// Patched context construction in buildChatflow.ts
const flowData: ICommonObject = {
    chatId,
    sessionId,
    chatHistory,
    apiMessageId
}

By enforcing static key assignment, the application completely blocks unvalidated client-provided inputs from modifying administrative context values. Variable overrides are now restricted to authorized workflow nodes and verified via the internal replaceInputsWithConfig() utility.

Exploitation Methodology

Exploiting this flaw requires no authentication. The attacker only needs network access to the Flowise server and the target flow identifier. The flow identifier is frequently exposed in client-side integrations, such as public chat widgets.

An attacker constructs a HTTP POST request to /api/v1/prediction/:id. Inside the payload, the attacker defines the overrideConfig block, populating it with values that conflict with the server's internal state. For example, injecting a falsified array of messages into the chatHistory parameter tricks the target LLM model into executing commands based on synthetic conversational turns.

This mechanism allows attackers to mock previous user confirmations, bypass security check-loops, or supply synthetic authorization contexts. This technique alters the conversational history and misleads the LLM into generating unauthorized responses.

Security Impact Assessment

The impact of CVE-2026-69258 is substantial due to its threat to system data integrity. By hijacking active sessionId parameters, attackers can cross the boundary of session isolation. This enables them to access, pollute, or hijack conversations belonging to other active users on the platform.

Furthermore, the injection of custom properties inside the $flow.* namespace allows manipulation of execution variables. If the underlying flow contains nodes designed to run SQL queries, make external webhook requests, or call API integrations, attackers can alter the query structures or destination URLs by modifying template variables.

While this vulnerability does not directly yield OS-level remote code execution, the ability to bypass application logical security barriers, manipulate prompt histories, and corrupt administrative routing data merits its High CVSS rating of 8.8.

Remediation & Detection Guidance

To resolve this vulnerability, deploy the security update to Flowise version 3.1.3 or higher. Administrators can upgrade standard installations using the NPM package manager or by pulling the corrected Docker container image from the official repository.

# Upgrade standard Flowise deployment
npm install -g flowise@latest
 
# Or pull latest Docker image
docker pull flowiseai/flowise:3.1.3

If patching cannot be performed immediately, employ a Web Application Firewall (WAF) to inspect traffic directed to /api/v1/prediction/. Configure a rule to inspect incoming JSON bodies and block requests containing the overrideConfig key when paired with unauthorized internal parameter keys.

Network administrators can also deploy a Suricata or Snort signature to detect active exploitation attempts at the boundaries of the network by inspecting prediction payload strings.

Official Patches

FlowiseAIFix commit for unauthenticated property injection

Fix Analysis (1)

Technical Appendix

CVSS Score
8.8/ 10
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N

Affected Systems

Flowise deployments exposing unauthenticated prediction endpoints (< 3.1.3)

Affected Versions Detail

Product
Affected Versions
Fixed Version
Flowise
FlowiseAI
< 3.1.33.1.3
AttributeDetail
CWE IDCWE-915 / CWE-639
Attack VectorNetwork
CVSS v4.0 Score8.8
Vulnerability ClassProperty Injection / Authorization Bypass
Exploit StatusProof-of-Concept Available
RemediationUpgrade to v3.1.3 or higher

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1574Hijack Execution Flow
Defense Evasion
T1528Steal Application Access Token
Credential Access
CWE-915
Improperly Controlled Modification of Dynamically-Determined Object Attributes

The product initializes or populates an object with user-controlled input, allowing the user to modify properties of the object that should not be directly modifiable.

Vulnerability Timeline

Official security patch committed via Pull Request #6279.
2026-05-07
Vulnerability publicly disclosed and assigned CVE-2026-69258 / GHSA-6vh2-wg4h-4vwj.
2026-08-04

References & Sources

  • [1]GitHub Security Advisory GHSA-6vh2-wg4h-4vwj
  • [2]Flowise Pull Request #6279
  • [3]Flowise Security Fix Commit
  • [4]Flowise v3.1.3 Release Notes
  • [5]CVE Official Entry

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 6 hours ago•GHSA-JHJP-4C2Q-XMX4
8.1

GHSA-JHJP-4C2Q-XMX4: Falco k8saudit Plugin Ruleset Bypass via initContainers and ephemeralContainers

A security feature bypass vulnerability in the Falco k8saudit plugin (and its cloud-specific variants) allowed privileged workloads to run undetected. This bypass occurred because the plugin's default extraction logic and rules only evaluated standard containers, completely omitting initContainers and ephemeralContainers.

Amit Schendel
Amit Schendel
4 views•6 min read
•about 7 hours ago•CVE-2026-61630
4.2

CVE-2026-61630: Time-Based One-Time Password (TOTP) Reuse/Replay in nginx-ignition

nginx-ignition is a web-based user interface for managing the Nginx web server. In versions 2.33.0 through 2.35.0, the application is vulnerable to an improper authentication flaw (CWE-287) in its Multi-Factor Authentication (MFA) implementation. The stateless validation of Time-Based One-Time Passwords (TOTP) allows an attacker to reuse a captured, active verification code multiple times within the standard 30-second validity window, successfully bypassing secondary authentication checks if primary credentials are known.

Amit Schendel
Amit Schendel
8 views•5 min read
•about 8 hours ago•CVE-2026-61629
7.5

CVE-2026-61629: CPU Amplification Denial of Service via ParseAcceptLanguage Underscore Bypass

A vulnerability exists in the i18n middleware of nginx-ignition, enabling CPU amplification attacks. By transmitting a crafted Accept-Language header containing malformed tags separated by underscores, an unauthenticated remote attacker can bypass the length-guard threshold of the underlying Go parsing library. Normalization of underscores to hyphens occurs after the initial validation checks, forcing the parser into expensive quadratic-time loops that consume 100% of available CPU resources. This leads to a complete denial of service for the administrative API and potentially degrades the availability of the hosting system. This vulnerability has been resolved in version 2.40.1.

Alon Barad
Alon Barad
6 views•7 min read
•about 9 hours ago•CVE-2026-61628
8.1

CVE-2026-61628: Unauthenticated Admin Account Creation via Onboarding Race Condition in Nginx Ignition

Nginx Ignition prior to version 2.41.1 contains a Time-of-Check to Time-of-Use (TOCTOU) race condition in its unauthenticated onboarding API endpoint. This flaw allows remote, unauthenticated attackers to register an administrative account by sending concurrent HTTP requests during the initial system configuration phase, bypassing the check meant to restrict onboarding to a single initial administrator.

Amit Schendel
Amit Schendel
7 views•6 min read
•about 15 hours ago•CVE-2026-61687
7.1

CVE-2026-61687: OAuth State Validation Bypass and Login CSRF in Hatchet

A logic error in Hatchet's OAuth state validation mechanism allows unauthenticated remote attackers to bypass state parameter verification. By submitting an empty state parameter, attackers can exploit an equality collision with cleared session keys, facilitating Login Cross-Site Request Forgery (Login CSRF) or Session Fixation.

Amit Schendel
Amit Schendel
10 views•10 min read
•3 days ago•CVE-2026-58197
8.8

CVE-2026-58197: Host Escape and Lateral Movement via Insecure Container Network Defaults in ToolHive

A high-severity access control vulnerability in ToolHive CLI before v0.30.1 and ToolHive Studio before v0.38.0 allows local containerized MCP servers to bypass network isolation. This enables malicious workloads to establish TCP/IP connections to administrative and control plane endpoints exposed on the host loopback interface.

Amit Schendel
Amit Schendel
12 views•8 min read