Skip to content
Heist/ feed
Back to feed
High

Flowise: Unauthenticated TTS endpoint accepts arbitrary credential IDs — enables API credit abuse via stored credentials

Type: advisorySources: OSV

Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the text-to-speech generation endpoint (POST /api/v1/text-to-speech/generate) is whitelisted (no auth) and accepts a credentialId directly in the request body. When called without a chatflowId, the endpoint uses the provided credentialId to decrypt the stored credential (e.g., OpenAI or ElevenLabs API key) and generate speech. This vulnerability is fixed in 3.1.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-41279
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 05:54 UTC · Revision 1

Source evidence

Flowise: Unauthenticated TTS endpoint accepts arbitrary credential IDs — enables API credit abuse via stored credentials

core-osv · Original source

Published 23 Apr 2026, 19:53 UTC

Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the text-to-speech generation endpoint (POST /api/v1/text-to-speech/generate) is whitelisted (no auth) and accepts a credentialId directly in the request body. When called without a chatflowId, the endpoint uses the provided credentialId to decrypt the stored credential (e.g., OpenAI or ElevenLabs API key) and generate speech. This vulnerability is fixed in 3.1.0.

osv:CVE-2026-41279
Complete source record
{
  "id": "0b2c6035cdbbbf07472ec257cc8b24a84829359a582b8460d397e202114cebb8",
  "url": "https://osv.dev/vulnerability/CVE-2026-41279",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Flowise: Unauthenticated TTS endpoint accepts arbitrary credential IDs — enables API credit abuse via stored credentials",
    "summary": "Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, the text-to-speech generation endpoint (POST /api/v1/text-to-speech/generate) is whitelisted (no auth) and accepts a credentialId directly in the request body. When called without a chatflowId, the endpoint uses the provided credentialId to decrypt the stored credential (e.g., OpenAI or ElevenLabs API key) and generate speech. This vulnerability is fixed in 3.1.0.",
    "evidence": "osv:CVE-2026-41279",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-41279",
      "aliases": [
        "CVE-2026-41279",
        "GHSA-5fw2-mwhh-9947"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/flowiseai/flowise",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "378d3ec3bd2d4157d6aa694bbc5ffa50c4159b97"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "pre-langchain-v1",
            "flowise@3.0.13",
            "flowise-ui@3.0.13",
            "flowise-components@3.0.13",
            "flowise@3.0.12",
            "flowise-ui@3.0.12",
            "flowise-components@3.0.12",
            "flowise@3.0.11",
            "flowise-ui@3.0.11",
            "flowise-components@3.0.11",
            "flowise@3.0.10",
            "flowise-ui@3.0.10",
            "flowise-components@3.0.10",
            "flowise@3.0.9",
            "flowise-ui@3.0.9",
            "flowise-components@3.0.9",
            "flowise@3.0.8",
            "flowise-ui@3.0.8",
            "flowise-components@3.0.8",
            "flowise@3.0.7",
            "flowise-ui@3.0.7",
            "flowise-components@3.0.7",
            "flowise@3.0.6",
            "flowise-ui@3.0.6",
            "flowise-components@3.0.6",
            "flowise@3.0.5",
            "flowise-ui@3.0.5",
            "flowise-components@3.0.5",
            "flowise@3.0.4",
            "flowise-ui@3.0.4",
            "flowise-components@3.0.4",
            "flowise@3.0.3",
            "flowise-ui@3.0.3",
            "flowise-components@3.0.3",
            "flowise@3.0.2",
            "flowise-ui@3.0.2",
            "flowise-components@3.0.2",
            "flowise@3.0.1",
            "flowise-ui@3.0.1",
            "flowise-components@3.0.1",
            "flowise@3.0.0",
            "flowise-ui@3.0.0",
            "flowise-components@3.0.0",
            "flowise@2.2.8",
            "flowise-ui@2.2.8",
            "flowise-components@2.2.8",
            "flowise@2.2.7-patch.1",
            "flowise-ui@2.2.7-patch.1",
            "flowise-components@2.2.7-patch.1",
            "flowise@2.2.7",
            "flowise-ui@2.2.7",
            "flowise-components@2.2.7",
            "flowise@2.2.6-hotfix.1",
            "flowise@2.2.6",
            "flowise-ui@2.2.6",
            "flowise-components@2.2.6",
            "flowise@2.2.5",
            "flowise-ui@2.2.5",
            "flowise-components@2.2.5",
            "flowise@2.2.4",
            "flowise-ui@2.2.4",
            "flowise-components@2.2.4",
            "flowise@2.2.3",
            "flowise-ui@2.2.3",
            "flowise-components@2.2.3",
            "flowise@2.2.2",
            "flowise-ui@2.2.2",
            "flowise-components@2.2.2",
            "flowise@2.2.1",
            "flowise-ui@2.2.1",
            "flowise-components@2.2.1",
            "flowise@2.2.0",
            "flowise-ui@2.2.0",
            "flowise-components@2.2.0",
            "flowise@2.1.5",
            "flowise-ui@2.1.5",
            "flowise-components@2.1.5",
            "flowise@2.1.4",
            "flowise-ui@2.1.4",
            "flowise-components@2.1.4",
            "flowise@2.1.3",
            "flowise-ui@2.1.3",
            "flowise-components@2.1.3",
            "flowise@2.1.2",
            "flowise-ui@2.1.2",
            "flowise-components@2.1.2",
            "flowise@2.1.1",
            "flowise-ui@2.1.1",
            "flowise-components@2.1.1",
            "flowise@2.1.0",
            "flowise-ui@2.1.0",
            "flowise-components@2.1.0",
            "flowise@2.0.7",
            "flowise-ui@2.0.7",
            "flowise-components@2.0.7",
            "flowise@2.0.6",
            "flowise-ui@2.0.6",
            "flowise-components@2.0.6",
            "flowise@2.0.5",
            "flowise-ui@2.0.5",
            "flowise-components@2.0.5",
            "flowise@2.0.4",
            "flowise-ui@2.0.4",
            "flowise-components@2.0.4",
            "flowise@2.0.3",
            "flowise-ui@2.0.3",
            "flowise-components@2.0.3",
            "flowise@2.0.2",
            "flowise-ui@2.0.2",
            "flowise-components@2.0.2",
            "flowise@1.8.4",
            "flowise-ui@1.8.4",
            "flowise-components@1.8.6",
            "flowise@1.8.3",
            "flowise-ui@1.8.3",
            "flowise-components@1.8.4",
            "flowise@1.8.2",
            "flowise-ui@1.8.2",
            "flowise-components@1.8.3",
            "flowise@1.8.1",
            "flowise-ui@1.8.1",
            "flowise-components@1.8.1",
            "flowise@1.8.0",
            "flowise-ui@1.8.0",
            "flowise-components@1.8.0",
            "flowise@1.7.2",
            "flowise-ui@1.7.2",
            "flowise-components@1.7.2",
            "flowise@1.7.1",
            "flowise-ui@1.7.1",
            "flowise-components@1.7.1",
            "flowise@1.7.0",
            "flowise-ui@1.7.0",
            "flowise-components@1.7.0",
            "flowise@1.6.6",
            "flowise-ui@1.6.6",
            "flowise-components@1.6.8",
            "flowise@1.6.5",
            "flowise-ui@1.6.5",
            "flowise-components@1.6.7",
            "flowise@1.6.4",
            "flowise-ui@1.6.4",
            "flowise-components@1.6.6",
            "flowise@1.6.3",
            "flowise-ui@1.6.3",
            "flowise-components@1.6.5",
            "flowise@1.6.2",
            "flowise-ui@1.6.2",
            "flowise-components@1.6.4",
            "flowise@1.6.1",
            "flowise-ui@1.6.1",
            "flowise-components@1.6.3",
            "flowise@1.6.0",
            "flowise-ui@1.6.0",
            "flowise-components@1.6.2",
            "flowise@1.5.1",
            "flowise-ui@1.5.1",
            "flowise-components@1.6.1",
            "flowise@1.5.0",
            "flowise-ui@1.5.0",
            "flowise-components@1.6.0",
            "flowise@1.4.12",
            "flowise-ui@1.4.9",
            "flowise-components@1.5.3",
            "flowise@1.4.11",
            "flowise-ui@1.4.8",
            "flowise-components@1.5.2",
            "flowise@1.4.10",
            "flowise-ui@1.4.7",
            "flowise-components@1.5.1",
            "flowise@1.4.9",
            "flowise@1.4.8",
            "flowise-ui@1.4.6",
            "flowise-components@1.5.0",
            "flowise@1.4.7",
            "flowise-ui@1.4.5",
            "flowise-components@1.4.9",
            "flowise-components@1.4.8",
            "flowise@1.4.6",
            "flowise-ui@1.4.4",
            "flowise-components@1.4.7",
            "flowise@1.4.5",
            "flowise-ui@1.4.3",
            "flowise@1.4.4",
            "flowise-ui@1.4.2",
            "flowise-components@1.4.6",
            "flowise@1.4.2",
            "flowise-components@1.4.2",
            "flowise@1.4.1",
            "flowise-components@1.4.1",
            "flowise@1.4.0",
            "flowise-ui@1.4.0",
            "flowise-components@1.4.0",
            "flowise@1.3.9",
            "flowise-ui@1.3.7",
            "flowise-components@1.3.11",
            "flowise-components@1.3.10",
            "flowise@1.3.8",
            "flowise-ui@1.3.6",
            "flowise-components@1.3.9",
            "flowise@1.3.7",
            "flowise-ui@1.3.5",
            "flowise-components@1.3.8",
            "flowise@1.3.6",
            "flowise-ui@1.3.4",
            "flowise-components@1.3.7",
            "flowise@1.3.5",
            "flowise-ui@1.3.3",
            "flowise-components@1.3.5",
            "flowise@1.3.4",
            "flowise-ui@1.3.2",
            "flowise-components@1.3.4",
            "flowise@1.3.3",
            "flowise-ui@1.3.1",
            "flowise-components@1.3.3",
            "flowise@1.3.2",
            "flowise-components@1.3.2",
            "flowise@1.3.1",
            "flowise-components@1.3.1",
            "flowise@1.3.0",
            "flowise-ui@1.3.0",
            "flowise-components@1.3.0",
            "flowise@1.2.16",
            "flowise-ui@1.2.15",
            "flowise-components@1.2.17",
            "flowise@1.2.15",
            "flowise-ui@1.2.14",
            "flowise-components@1.2.16",
            "flowise@1.2.14",
            "flowise-ui@1.2.13",
            "flowise-components@1.2.15",
            "flowise@1.2.13",
            "flowise-ui@1.2.12",
            "flowise-components@1.2.14",
            "flowise@1.2.11",
            "flowise-ui@1.2.10",
            "flowise-components@1.2.12",
            "flowise@1.2.9",
            "flowise-components@1.2.10",
            "flowise@1.2.8",
            "flowise-ui@1.2.7",
            "flowise-components@1.2.9",
            "flowise@1.2.7",
            "flowise-ui@1.2.6",
            "flowise-components@1.2.8",
            "flowise@1.2.6",
            "flowise-ui@1.2.5",
            "flowise-components@1.2.7",
            "flowise@1.2.5",
            "flowise-ui@1.2.4",
            "flowise-components@1.2.6",
            "flowise@1.2.4",
            "flowise-ui@1.2.3",
            "flowise-components@1.2.5",
            "flowise@1.2.3",
            "flowise-ui@1.2.2",
            "flowise-components@1.2.4",
            "flowise-components@1.2.3",
            "flowise@1.2.2",
            "flowise-ui@1.2.1",
            "flowise-components@1.2.2",
            "flowise@1.2.1",
            "flowise-ui@1.2.0",
            "flowise-components@1.2.1",
            "flowise@1.1.1",
            "flowise-components@1.1.1",
            "flowise@1.1.0",
            "flowise-ui@1.1.0",
            "flowise-components@1.1.0",
            "flowise@1.0.1",
            "flowise@1.0.0",
            "flowise-ui@1.0.0",
            "flowise-components@1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41279.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.154200563Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41279.json",
        "https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-5fw2-mwhh-9947",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-41279"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-639"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41279.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-41279",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492876,
  "published_at": "2026-04-23T19:53:15.237+00:00"
}