Description
RAGFlow before 0.26.3 stores an agent pipeline (DSL) node name without sanitization: the agent update endpoint normalizes the submitted DSL via normalize_dsl, which only performs JSON serialization validation and preserves the node name verbatim. The dataflow-result web UI then renders that name into the "Rerun from current step" confirmation modal via dangerouslySetInnerHTML, and the i18next configuration sets escapeValue:false, so the value is inserted into the DOM without HTML encoding. An authenticated workspace user who can create or edit an agent can inject arbitrary JavaScript that executes in the session of another workspace member who opens the dataflow result and clicks rerun, enabling session/token theft and account takeover across the user trust boundary.
Published: 2026-07-02
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

RAGFlow before 0.26.3 stores agent pipeline DSL node names without sanitization. The update endpoint normalizes the DSL only via JSON validation, preserving the node name verbatim. When the dataflow‑result web UI renders the name into the “Rerun from current step” confirmation modal using dangerouslySetInnerHTML and i18next configured to not escape HTML, an attacker can inject arbitrary JavaScript. Executed in the victim’s browser, this script can read session cookies or other sensitive data, leading to session token theft and potential account takeover of the victim. The flaw maps to CWE‑79 (Cross‑Site Scripting).

Affected Systems

The affected product is RAGFlow from infiniflow. All releases earlier than version 0.26.3 are vulnerable. Any workspace that allows users to create or edit an agent pipeline exposes the flaw, because the node names are persisted in the database and later rendered in the UI. Users who have permission to modify pipelines can inject malicious node names, and any workspace member who opens the dataflow result page and clicks the rerun button becomes a victim.

Risk and Exploitability

The CVSS score of 5.1 indicates moderate severity, while the EPSS score of less than 1 % signifies a very low but non‑zero likelihood of real‑world exploitation. The vulnerability is not listed in CISA KEV. Exploitation requires an authenticated attacker with permission to edit agent pipelines and a second user who voluntarily visits the dataflow‑result page and triggers the rerun action. When both conditions are satisfied, the injected script executes in the victim’s browser, permitting theft of session tokens and the possibility of full account takeover.

Generated by OpenCVE AI on July 21, 2026 at 10:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RAGFlow to version 0.26.3 or later to apply the vendor‑supplied fix that sanitizes agent node names
  • If an upgrade cannot be performed immediately, limit create/edit agent pipeline permissions to trusted personnel and disable the rerun‑from‑current‑step feature until the patch is applied
  • Implement a robust content‑security‑policy that blocks inline JavaScript execution on the RAGFlow web interface to mitigate the impact of any remaining stored XSS

Generated by OpenCVE AI on July 21, 2026 at 10:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 02 Jul 2026 20:15:00 +0000

Type Values Removed Values Added
Description RAGFlow before 0.26.3 stores an agent pipeline (DSL) node name without sanitization: the agent update endpoint normalizes the submitted DSL via normalize_dsl, which only performs JSON serialization validation and preserves the node name verbatim. The dataflow-result web UI then renders that name into the "Rerun from current step" confirmation modal via dangerouslySetInnerHTML, and the i18next configuration sets escapeValue:false, so the value is inserted into the DOM without HTML encoding. An authenticated workspace user who can create or edit an agent can inject arbitrary JavaScript that executes in the session of another workspace member who opens the dataflow result and clicks rerun, enabling session/token theft and account takeover across the user trust boundary.
Title RAGFlow < 0.26.3 - Stored Cross-Site Scripting via Agent Pipeline Node Name
First Time appeared Infiniflow
Infiniflow ragflow
Weaknesses CWE-79
CPEs cpe:2.3:a:infiniflow:ragflow:*:*:*:*:*:*:*:*
Vendors & Products Infiniflow
Infiniflow ragflow
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

Infiniflow Ragflow
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-14T22:03:19.038Z

Reserved: 2026-07-01T15:00:11.163Z

Link: CVE-2026-58579

cve-icon Vulnrichment

Updated: 2026-07-06T13:32:45.670Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-21T11:00:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')