CVE-2026-126356
### Summary `validator('form')` only recognizes a `multipart/form-data` `Content-Type` that carries nothing but a single `boundary` parameter. A request with another legal parameter, such as `charset`, or with extra whitespace after the `;` is not recognized as a form. The validation callback then receives an empty object, while `c.req.parseBody()` still parses the body as a form. ### Details The check that decides whether a request body is a form was written as a strict pattern over the whole `Content-Type` value. Any parameter list that does not look exactly like `; boundary=...` fails the check. When it fails, the middleware does not read the body and passes an empty object to the validation callback. If the callback accepts an empty object, the request proceeds to the handler, which can still read all submitted fields through `c.req.parseBody()` or `c.req.formData()`. `application/x-www-form-urlencoded` is not affected. Only the `multipart/form-data` branch has the strict pattern. This issue arises when an application relies on `validator('form')` to reject or restrict fields and the validation callback does not fail on an empty object. ### Impact An unauthenticated client can send form fields that the `form` validator never sees, by adding a legal parameter to the `Content-Type` header. This may lead to: - Allow-list or required-field checks in the validator being skipped - Fields the application intended to reject reaching the handler This issue affects applications that use `validator('form')` with `multipart/form-data` requests and whose validation callback accepts an empty object. ### Workarounds Reject an empty object in the `validator('form')` callback, or validate the result of `await c.req.parseBody()` in the handler.
Properties
- Summary
- Hono: `validator('form')` skips validation for `multipart/form-data` requests with extra parameters
- Severity
- medium
- Nvd fetched at
- 2026-11-14T00:40:25.638091+00:00
- Epss score
- 0.00392
- Cvss severity
- MEDIUM
- Cvss score
- 5.3
- Retrieved at
- 2026-11-14T00:51:03+00:00
- Ghsa published
- 2026-11-12T23:30:45Z
- Source url
- https://github.com/advisories/GHSA-4h7h-rv7c-7m2v
- Ghsa updated
- 2026-11-12T23:30:46Z
- Ghsa id
- GHSA-4h7h-rv7c-7m2v
- Last source
- FIRST EPSS
- Score
- 5.3
- Cvss version
- 3.1
- Cve id
- CVE-2026-126356
- Cvss vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- First seen by Signal
- 2026-11-13T00:03:27+00:00
- Name
- CVE-2026-126356
- Is ghsa only
- false
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Related Entities (4)
HAS_WEAKNESS (2)
AFFECTS (1)
VULNERABLE_TO (1)
Related research
Explore deeper with Ninja Signal's threat intelligence graph