low3.1
CVE-2025-46653
Formidable relies on hexoid to prevent guessing of filenames for untrusted executable content
Impact
Formidable (aka node-formidable) 2.x before 2.1.3 and 3.x before 3.5.3 relies on hexoid to prevent guessing of filenames for untrusted executable content; however, hexoid is documented as not "cryptographically secure." (Also, there is a scenario in which only the last two characters of a hexoid string need to be guessed, but this is not often relevant.) NOTE: this does not imply that, in a typical use case, attackers will be able to exploit any hexoid behavior to upload and execute their own content.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | formidable | >= 3.1.1-canary.20211030, < 3.5.3 | 3.5.3 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Node-Formidable | Formidable | from 2.1.0 before 3.5.3 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/node-formidable/formidable/blob/d0fbec13edc8add54a1afb9ce1a8d3db803f8d47/CHANGELOG.md?plain=1#L10
- https://github.com/node-formidable/formidable/commit/022c2c5577dfe14d2947f10909d81b03b6070bf5
- https://github.com/zast-ai/vulnerability-reports/blob/main/formidable/file_upload/report.md
- https://github.com/advisories/GHSA-75v8-2h7p-7m2m
- https://nvd.nist.gov/vuln/detail/CVE-2025-46653
- https://github.com/node-formidable/formidable/commit/37a3e89fca1ed68ec674a539f13aafd62221ddaa
- https://www.npmjs.com/package/formidable/v/2.1.3
- https://www.npmjs.com/package/formidable/v/3.5.3