CVE-2026-39410
MediumCVSS 4.8Exploitation Probability (EPSS)
Low risk21th percentile - higher than 21% of all known CVEs
Summary
Hono, a web framework supporting any JavaScript runtime, prior to version 4.12.12 has a vulnerability due to a discrepancy between browser cookie parsing and the parse() function, allowing cookie prefix protections to be bypassed and attacker-controlled cookies to override legitimate ones.
Risk Assessment
An attacker can override session cookies or other important cookies, potentially leading to session hijacking or other cookie manipulation attacks.
Recommendation
Update Hono to version 4.12.12 or later, which contains a fix for this vulnerability.
Other vulnerabilities in Hono
See all- CVE-2026-22818High
Hono is a web framework for JavaScript. Prior to 4.11.4, the JWK/JWKS JWT verification middleware had a flaw that allowed the algorithm from the JWT header to influence signature verification when the selected JWK did not define an algorithm. This could enable JWT algorithm confusion and, in certain configurations, allow forged tokens to be accepted.
- CVE-2026-22817High
Hono is a web framework for JavaScript. Prior to version 4.11.4, the JWT middleware for JWK/JWKS verification had a flaw where the JWT header's alg value could influence signature verification when the selected JWK did not explicitly specify an algorithm. This could enable JWT algorithm confusion and, in certain configurations, allow forged tokens to be accepted.
- GHSA-frvp-7c67-39w9Medium
Path traversal vulnerability in serve-static on Windows via encoded backslash (%5C) in the request path. On Windows hosts, an encoded backslash (%5C) decodes to \, which the Windows path treats as a directory separator.
- CVE-2026-93981Medium
hono before 4.13.7 fails to HTML-escape plain strings rendered by hono/jsx as a child or fallback of Suspense, as a string child of ErrorBoundary alongside an asynchronous sibling, as the single child of a Context.Provider, or as the root value passed to renderToString() or renderToReadableStream(). These paths stringify their input and treat the result as already-escaped markup, so an attacker who controls such a string during server-side rendering can inject arbitrary HTML and execute script under the application's origin.
- CVE-2026-84365Medium
Hono framework versions 4.12.12 through 4.13.5 contain an incomplete fix for CVE-2026-39408 — toSSG() can still write files outside the configured output directory when a route parameter contains consecutive parent-directory segments. This affects build-time static site generation only, when ssgParams values are not fully developer-controlled.
- CVE-2026-84364Medium
In Hono (Web framework for JavaScript) prior to version 4.13.5, when parseBody() expands dot-separated form field names into nested objects with dot-notation parsing enabled, it does not limit the nesting depth or the total number of intermediate objects created. Empty segments are preserved, so one deeply dotted field name can encode one nesting level per byte, while a large number of shallowly dotted fields can create the same amplification across a request. A request body within a normal size limit can therefore allocate an object graph far larger than the request after the body has already been accepted. An unauthenticated attacker who can reach an affected endpoint can send concurrent requests that exhaust the JavaScript heap, terminate the server process, and leave the service unavailable until restart. Dot-notation parsing is not enabled by default, and applications using the default behavior are not affected. This issue is fixed in version 4.13.5.
- CVE-2026-84363Medium
In Hono (Web framework for JavaScript) prior to version 4.13.5, Hono's query helpers treat a question mark after a literal hash fragment as the start of a query string, so the application can read request parameters that browsers, new URL(), reverse proxies, filtering rules, parameter allow and deny lists, access logging, request validation, and other middleware do not observe. The Cache Middleware removes the fragment when building its cache key, allowing a response influenced by parameters inside the fragment to be stored under a key that omits those parameters and later served to other users. This can bypass filtering and auditing, poison cached responses, and enable stored cross-site scripting when an affected parameter is reflected into cached HTML without escaping. Exploitation requires a runtime and intermediary path that passes a literal hash character through to the request URL; Cloudflare Workers and intermediaries that strip fragments are not affected. This issue is fixed in version 4.13.5.
- CVE-2026-69207Medium
Hono before version 4.12.34 has a ReDoS vulnerability in the built-in CORS middleware (hono/cors). During a preflight OPTIONS request, the middleware parses the Access-Control-Request-Headers header using a regular expression with quadratic complexity, which can cause long CPU consumption and block request processing. This affects the default configuration when allowHeaders is unset or empty.
- CVE-2026-71850Medium
A vulnerability in the Hono framework from version 3.8.0 to 4.12.33 affects memo() from hono/jsx, which retains the result of a server-side render and reuses it for later renders with equal props. Request-scoped values read inside the component are not part of the comparison, potentially causing a user to receive HTML rendered for another user's request. The issue is fixed in version 4.12.34.
- CVE-2026-71849Low
Hono is a web application framework supporting any JavaScript runtime. From 4.7.0 to 4.12.33, the proxy() function in hono/proxy does not remove response headers named by the origin's Connection header. Per RFC 9110, an intermediary must remove these headers before forwarding, but the function only removes standard hop-by-hop headers, potentially leading to disclosure of internal metadata.
Original NVD description (English source)
Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.12, a discrepancy between browser cookie parsing and parse() handling allows cookie prefix protections to be bypassed. Cookie names that are treated as distinct by the browser may be normalized to the same key by parse(), allowing attacker-controlled cookies to override legitimate ones. This vulnerability is fixed in 4.12.12.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

