v4.12.34
FireRedTeam/FireRedVADv4.12.34Aug 3, 2026by yusukebe
AI Summary
This release addresses critical security vulnerabilities affecting server-side rendering, CORS middleware, language processing, and proxy helpers.
Key Highlights
- Fixed cross-user data disclosure in `memo()` SSR output.
- Fixed ReDoS vulnerability in CORS middleware via Access-Control-Request-Headers.
- Fixed algorithmic complexity DoS in language middleware.
- Fixed Proxy Helper not removing connection-scoped headers.
New Features
- Security patches for SSR data leakage.
- Security patches for ReDoS and DoS vulnerabilities.
Full Release Notes
## Security fixes This release includes fixes for the following security issues: ### `memo()` retains SSR output across requests, leading to cross-user data disclosure Affects: `hono/jsx` (server-side rendering). Fixes `memo()` reusing a retained render result across requests when props compare equal, where a component reading request-scoped values from ambient context — `useContext()`, `useRequestContext()`, or `getContext()` — could serve HTML rendered for another user's request, disclosing account data or request-scoped secrets such as CSRF tokens. GHSA-f23p-vx2j-j53r ### ReDoS in CORS middleware via `Access-Control-Request-Headers` Affects: `hono/cors`. Fixes a whitespace-tolerant regular expression with quadratic backtracking used to parse the `Access-Control-Request-Headers` preflight header when `allowHeaders` is not configured (the default), where a single preflight request carrying a long whitespace run could consume seconds of CPU and stall request processing. GHSA-8j4g-w8fx-2239 ### Algorithmic complexity DoS in Language Middleware Affects: `hono/language`. Fixes quadratic string processing in language-tag normalization, where a crafted language tag with a large number of hyphen-separated subtags — supplied via a query parameter, cookie, or `Accept-Language` header — could cause excessive CPU consumption and block the event loop. GHSA-54fx-42gc-7vw4 ### Proxy Helper does not remove response headers listed in the `Connection` header Affects: `hono/proxy`. Fixes `proxy()` forwarding response headers that the origin's `Connection` header designates as connection-scoped, where headers intended only for the immediate peer — per RFC 9110 Section 7.6.1 — could be exposed to clients, disclosing connection-scoped or internal metadata. GHSA-79qm-7rj5-m7r9 --- Users who use `hono/jsx` for server-side rendering, `hono/cors`, `hono/language`, or `hono/proxy` are strongly encouraged to upgrade to this version.