CVE-2026-59896: hono/jsx does not isolate context per request, leading to cross-request data disclosure
Summary
hono/jsx did not isolate context values per request during server-side rendering. While an async component was suspended on await, its provided context value stayed observable to other requests rendering concurrently, so useContext() could return a value from a different in-flight request.
Details
During server-side rendering, context values were kept in a process-wide structure rather than scoped to each request's render. While an async component awaited, another request entering the same provider could observe or replace the value; when the first render resumed, it could read the other request's context.
This affects the usual ways request-scoped data is passed through a server-rendered JSX tree:
- createContext() / useContext() - the jsxRenderer middleware and useRequestContext()
It arises only when context is read after an await inside an async component while requests render concurrently. Reading context synchronously (before any await), purely synchronous rendering, and client-side (DOM) rendering are not affected.
Impact
Under concurrent requests, a response could be rendered with another request's context. A user may receive HTML rendered for a different user, and an authorization check performed after an await may be evaluated against another user's data.
This may lead to:
- disclosure of rendered output intended for another user - authorization decisions made with the wrong request's context - cross-request mixing of session or other request-scoped state
Other sources
Hono is a Web application framework that provides support for any JavaScript runtime. From 4.11.8 before 4.12.27, hono/jsx did not isolate context values per request during server-side rendering, allowing createContext, useContext, jsxRenderer, or useRequestContext data from a different in-flight request to be used after an await in an async component. This issue is fixed in version 4.12.27.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/honoto a version that resolves this vulnerability.Fixed in 4.12.27 - Upgrade
Upgrade
hono/jsxto a version that resolves this vulnerability.Fixed in 4.12.27
Event History
Frequently Asked Questions
What is the severity of CVE-2026-59896?
CVE-2026-59896 has a medium severity rating of 6.5.
What kind of vulnerability is CVE-2026-59896?
CVE-2026-59896 is a cross-request data disclosure vulnerability due to inadequate context isolation.
How do I fix CVE-2026-59896?
To fix CVE-2026-59896, upgrade to hono/jsx version 4.12.27 or later.
What software is affected by CVE-2026-59896?
CVE-2026-59896 affects the hono/jsx package used in JavaScript applications.
How does CVE-2026-59896 impact application security?
CVE-2026-59896 can lead to data disclosure between requests, compromising user privacy.