Hono vulnerable to Prototype Pollution possible through __proto__ key allowed in parseBody({ dot: true })
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Summary
When using parseBody({ dot: true }) in HonoRequest, specially crafted form field names such as __proto__.x could create objects containing a __proto__ property.
If the parsed result is later merged into regular JavaScript objects using unsafe merge patterns, this may lead to prototype pollution in the target object.
Details
The parseBody({ dot: true }) feature supports dot notation to construct nested objects from form field names.
In previous versions, the __proto__ path segment was not filtered. As a result, specially crafted keys such as __proto__.x could produce objects containing __proto__ properties.
While this behavior does not directly modify Object.prototype within Hono itself, it may become exploitable if the parsed result is later merged into regular JavaScript objects using unsafe merge patterns.
Impact
Applications that merge parsed form data into regular objects using unsafe patterns (for example recursive deep merge utilities) may become vulnerable to prototype pollution.
Text from GitHub Advisory Database
Affected versions 4
- hono, npm< 4.12.7GitHub
- Honoaffected: all versions before 4.12.7CVE List
- Honounaffected: 4.12.7CVE List
- hono, npmfrom first release, fixed in 4.12.7OSV
References 5
- github.com/honojs/hono/commit/ef902257e0beacbb83d2a9549b3b83e03514a6feFixvia GitHub
- github.com/honojs/hono/security/advisories/GHSA-v8w9-8mx6-g223Advisoryvia CVE List
- vulncheck.com/advisories/hono-prototype-pollution-via-proto-key-in-parsebody-with-dot-optionAdvisoryvia CVE List
- github.com/advisories/GHSA-v8w9-8mx6-g223Advisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-56763Referencevia GitHub