GHSA-75v8-2h7p-7m2m
Formidable relies on hexoid to prevent guessing of filenames for untrusted executable content
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | formidable | >= 3.1.1-canary.20211030, < 3.5.3 | 3.5.3 |
| npm | formidable | >= 2.1.0, < 2.1.3 | 2.1.3 |
Details
As written in the advisory (Markdown source, shown as plain text).
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.
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2025-46653
- https://github.com/node-formidable/formidable/commit/022c2c5577dfe14d2947f10909d81b03b6070bf5
- https://github.com/node-formidable/formidable/commit/37a3e89fca1ed68ec674a539f13aafd62221ddaa
- https://github.com/node-formidable/formidable
- https://github.com/node-formidable/formidable/blob/d0fbec13edc8add54a1afb9ce1a8d3db803f8d47/CHANGELOG.md?plain=1#L10
- https://github.com/zast-ai/vulnerability-reports/blob/main/formidable/file_upload/report.md
- https://www.npmjs.com/package/formidable/v/2.1.3
- https://www.npmjs.com/package/formidable/v/3.5.3