Miggo Logo

GHSA-8vvx-qvq9-5948: Flowise allows arbitrary file write to RCE

10

CVSS Score
3.1

Basic Information

CVE ID
-
EPSS Score
-
Published
3/14/2025
Updated
3/14/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
flowisenpm<= 2.2.7

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from three file-write functions in storageUtils.ts that: 1) Accept external input (fileName/paths) 2) Use it in path.join() without sanitization 3) Allow writing to arbitrary locations via '../' sequences. The commit diff shows these functions were patched by adding path sanitization (.map(_sanitizeFilename)), confirming they were the vulnerable entry points. The PoC demonstrates exploitation through these functions by manipulating filename parameters to overwrite package.json.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry *n *tt**k*r *oul* writ* *il*s wit* *r*itr*ry *ont*nt to t** *il*syst*m vi* t** `/*pi/v*/*o*um*nt-stor*/lo***r/pro**ss` *PI. *n *tt**k*r **n r**** R**(R*mot* *o** *x**ution) vi* *il* writin*. ### **t*ils *ll *il* writin* *un*tions in [p**

Reasoning

T** vuln*r**ility st*ms *rom t*r** *il*-writ* *un*tions in `stor***Utils.ts` t**t: *) ****pt *xt*rn*l input (`*il*N*m*/p*t*s`) *) Us* it in `p*t*.join()` wit*out s*nitiz*tion *) *llow writin* to *r*itr*ry lo**tions vi* '../' s*qu*n**s. T** *ommit *i*