{"id":"CVE-2026-119978","state":"PUBLISHED","title":"Flowise through 3.1.4 Custom Function Sandbox Escape RCE via LocalFileStore","description":"Flowise through 3.1.4 contains a sandbox escape vulnerability that allows authenticated users to execute OS commands by abusing allowlisted langchain and mammoth modules when ALLOW_BUILTIN_DEP=true. Attackers can submit JavaScript to /api/v1/node-custom-function that writes a file into the mammoth package via LocalFileStore and requires it, escaping vm2 as the Flowise process user.","publishedAt":"2026-10-30T17:28:31.216Z","updatedAt":"2026-10-30T17:28:31.216Z","severity":{"score":9,"label":"Critical","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","source":"VulnCheck"},"assigner":"VulnCheck","products":["FlowiseAI Flowise"],"affected":[{"vendor":"FlowiseAI","product":"Flowise","packageURL":"pkg:github/FlowiseAI/Flowise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"3.1.4","versionType":"semver"}],"repo":"https://github.com/FlowiseAI/Flowise"}],"references":["https://github.com/FlowiseAI/Flowise/blob/a65f81bb43ef66d3ce734bf0dff4223ae8041c95/packages/components/src/utils.ts#L55-L114","https://github.com/FlowiseAI/Flowise/blob/a65f81bb43ef66d3ce734bf0dff4223ae8041c95/packages/components/src/utils.ts#L1733","https://github.com/advisories/GHSA-9gvv-qjj3-2p6g","https://github.com/FlowiseAI/Flowise","https://www.vulncheck.com/advisories/flowise-through-3.1.4-custom-function-sandbox-escape-rce-via-localfilestore"],"weaknesses":["CWE-749"],"ingestedAt":"2026-10-30T17:38:06.351Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/119xxx/CVE-2026-119978.json","commit":"498cf57c077bfdf2c183c49552b5a5184d85cd64","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-119978","state":"PUBLISHED","datePublished":"2026-10-30T17:28:31.216Z","dateUpdated":"2026-10-30T17:28:31.216Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-10-30T17:24:18.282Z"},"containers":{"cna":{"title":"Flowise through 3.1.4 Custom Function Sandbox Escape RCE via LocalFileStore","descriptions":[{"lang":"en","value":"Flowise through 3.1.4 contains a sandbox escape vulnerability that allows authenticated users to execute OS commands by abusing allowlisted langchain and mammoth modules when ALLOW_BUILTIN_DEP=true. Attackers can submit JavaScript to /api/v1/node-custom-function that writes a file into the mammoth package via LocalFileStore and requires it, escaping vm2 as the Flowise process user."}],"affected":[{"vendor":"FlowiseAI","product":"Flowise","packageURL":"pkg:github/FlowiseAI/Flowise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"3.1.4","versionType":"semver"}],"repo":"https://github.com/FlowiseAI/Flowise"}],"references":[{"url":"https://github.com/FlowiseAI/Flowise/blob/a65f81bb43ef66d3ce734bf0dff4223ae8041c95/packages/components/src/utils.ts#L55-L114","tags":["technical-description"]},{"url":"https://github.com/FlowiseAI/Flowise/blob/a65f81bb43ef66d3ce734bf0dff4223ae8041c95/packages/components/src/utils.ts#L1733","tags":["technical-description"]},{"url":"https://github.com/advisories/GHSA-9gvv-qjj3-2p6g","tags":["related"],"name":"GitHub Security Advisory (GHSA-9gvv-qjj3-2p6g)"},{"url":"https://github.com/FlowiseAI/Flowise","tags":["product"]},{"url":"https://www.vulncheck.com/advisories/flowise-through-3.1.4-custom-function-sandbox-escape-rce-via-localfilestore","name":"VulnCheck Advisory: Flowise through 3.1.4 Custom Function Sandbox Escape RCE via LocalFileStore","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"HIGH","subIntegrityImpact":"HIGH","subAvailabilityImpact":"HIGH","baseScore":9,"baseSeverity":"CRITICAL"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":8.5,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-749","lang":"en","description":"Exposed Dangerous Method or Function","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-10-30T17:28:31.216Z"},"datePublic":"2026-10-30T00:00:00.000Z","tags":["unsupported-when-assigned"],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*","versionEndIncluding":"3.1.4"}]}]}],"credits":[{"lang":"en","value":"soovwv","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}}}}}