Sourced from hono's releases.
v4.12.27
Security fixes
This release includes fixes for the following security issues:
hono/jsx does not isolate context per request
Affects:
hono/jsx,hono/jsx-renderer. During SSR, context was stored process-wide instead of per request, souseContext()/useRequestContext()read after anawaitin an async component could return another concurrent request's value — leading to cross-request data disclosure or authorization checks against the wrong request. GHSA-hvrm-45r6-mjfjServer-Side XSS via JSX escaping bypass in cx()
Affects:
hono/css.cx()marked its composed class name as already-escaped without escaping the input, so untrusted input passed as a class name could break out of the JSXclassattribute during SSR and inject markup (XSS). GHSA-w62v-xxxg-mg59API Gateway v1 adapter can drop a repeated request header value
Affects:
hono/aws-lambda. The API Gateway v1 (and VPC Lattice) adapter de-duplicated repeated header values by substring instead of exact match, dropping a value that is a substring of another (e.g.203.0.113.1dropped when203.0.113.10is present) — affecting logic such asX-Forwarded-For-based IP restriction. GHSA-xgm2-5f3f-mvvc
Users of
hono/jsx/hono/jsx-renderer,hono/css(cx()), or thehono/aws-lambdaAPI Gateway v1 / VPC Lattice adapters are encouraged to upgrade.v4.12.26
What's Changed
- fix(lambda-edge): satisfy Deno lib types for Content-Length body encoding by
@yusukebein honojs/hono#5013- ci: publish to npm from CI with OIDC trusted publishing by
@yusukebein honojs/hono#5028- chore: remove unused devcontainer and gitpod configs by
@yusukebein honojs/hono#5029- chore: replace arg and glob with Bun native APIs in build script by
@yusukebein honojs/hono#5030Full Changelog: https://github.com/honojs/hono/compare/v4.12.25...v4.12.26
v4.12.25
Security fixes
This release includes fixes for the following security issues:
CORS Middleware reflects any Origin with credentials when
origindefaults to the wildcardAffects:
hono/cors. Fixes the wildcard origin reflecting the requestOriginand sendingAccess-Control-Allow-Credentials: truewhencredentials: trueis set without an explicitorigin, where any site a logged-in user visited could make credentialed cross-origin requests and read responses from cookie-authenticated endpoints. GHSA-88fw-hqm2-52qcBody Limit Middleware can be bypassed on AWS Lambda by understating
Content-LengthAffects:
hono/body-limiton AWS Lambda (hono/aws-lambda,hono/lambda-edge). Fixes the request being built with the client-declaredContent-Lengthwhile the body is delivered fully buffered, where a client could declare a smallContent-Lengthwith a much larger body and slip past the configured size limit. GHSA-rv63-4mwf-qqc2Path traversal in
serve-staticon Windows via encoded backslash (%5C)Affects:
serveStaticon Windows (Node, Bun, Deno adapters). Fixes the path guard allowing a lone backslash, where an encoded backslash (%5C) decoded to\was treated as a separator by the Windows path resolver, letting a single URL segment escape into a middleware-guarded subtree. GHSA-wwfh-h76j-fc44AWS Lambda adapter merges multiple
Set-Cookieheaders into one value, dropping cookies on ALB single-header and Lattice
... (truncated)
97c6fe1
4.12.27aa92177
Merge commit from forkcd3f6f7
Merge commit from forkd4853a8
fix(jsx): make merged context-isolation tests pass tsc type check (#5037)6735fea
fix(jsx): cast awaitedFallback through unknown to fix Deno type check
(#5036)fab3b13
Merge commit from fork9f0dadf
ci: use npm Staged publishing (#5035)27b7992
4.12.26d29982c
chore: replace arg and glob with Bun native APIs in build script16215d5
chore: remove unused devcontainer and gitpod configs (#5029)This version was pushed to npm by GitHub Actions, a new releaser for hono since your current version.