LOW3.1
GHSA-75v8-2h7p-7m2m
Formidable relies on hexoid to prevent guessing of filenames for untrusted executable content
Quick fix
GHSA-75v8-2h7p-7m2m — formidable: upgrade to the fixed version with the command below.
npm install formidable@3.5.3Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-46653[ADVISORY]
- https://github.com/node-formidable/formidable/commit/022c2c5577dfe14d2947f10909d81b03b6070bf5[WEB]
- https://github.com/node-formidable/formidable/commit/37a3e89fca1ed68ec674a539f13aafd62221ddaa[WEB]
- https://github.com/node-formidable/formidable[PACKAGE]
- https://github.com/node-formidable/formidable/blob/d0fbec13edc8add54a1afb9ce1a8d3db803f8d47/CHANGELOG.md?plain=1#L10[WEB]
- https://github.com/zast-ai/vulnerability-reports/blob/main/formidable/file_upload/report.md[WEB]
- https://www.npmjs.com/package/formidable/v/2.1.3[WEB]
- https://www.npmjs.com/package/formidable/v/3.5.3[WEB]