{"id":"CVE-2026-56277","summary":"Flowise - Hardcoded CORS Wildcard in TTS Endpoint","details":"Flowise before 3.1.2 sets Access-Control-Allow-Origin to a hardcoded wildcard (*) on its text-to-speech (TTS) generation endpoint (packages/server/src/controllers/text-to-speech/index.ts), independent of the server's configured CORS policy. This bypasses the server's otherwise restrictive default CORS configuration (getCorsOptions()) and allows any webpage to make cross-origin requests that trigger TTS generation using stored credentials, enabling drive-by cross-origin credential abuse.","aliases":["GHSA-m837-xvxr-vqwg"],"modified":"2026-07-15T01:48:56.954112439Z","published":"2026-06-30T22:08:27.269Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-346"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/56xxx/CVE-2026-56277.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/56xxx/CVE-2026-56277.json"},{"type":"ADVISORY","url":"https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-m837-xvxr-vqwg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-56277"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/flowise-hardcoded-cors-wildcard-in-tts-endpoint"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/flowiseai/flowise","events":[{"introduced":"0"},{"fixed":"4114b3b506e7bbee155141175a2ba48e426919dd"}],"database_specific":{"source":["AFFECTED_FIELD","CPE_RANGE"],"cpe":"cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"3.1.2"}]}}],"versions":["flowise@3.1.1","flowise-ui@3.1.1","flowise-components@3.1.1","flowise@3.1.0","flowise-ui@3.1.0","flowise-components@3.1.0","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-56277.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"}]}