node-formidable/formidable · Security
Formidable relies on hexoid to prevent guessing of filenames for untrusted executable content
- GHSA ID
- GHSA-75v8-2h7p-7m2m
- CVE ID
- CVE-2025-46653
- Severity
- low
- Published
- Updated
- CVSS
- 3.1 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
- CVSS v3
- 3.1 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
Description
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.
CWEs
- CWE-338 · Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-46653 ↗
- https://github.com/node-formidable/formidable/commit/022c2c5577dfe14d2947f10909d81b03b6070bf5 ↗
- 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://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 ↗
- https://github.com/advisories/GHSA-75v8-2h7p-7m2m ↗