Update dependency hono to v4.12.18 [SECURITY] #47
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/npm-hono-vulnerability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
4.12.16→4.12.18Hono has improper validation of NumericDate claims (exp, nbf, iat) in JWT verify()
CVE-2026-44459 / GHSA-hm8q-7f3q-5f36
More information
Details
Summary
Improper validation of the JWT NumericDate claims
exp,nbf, andiatinhono/utils/jwtallows tokens with non-spec-compliant claim values to silently bypass time-based checks. This issue is not exploitable by an anonymous attacker; it only manifests when a malformed claim value reachesverify()— typically when the application itself issues such tokens, or when the signing key is otherwise under attacker control.Details
The validation routine combined option, presence, and threshold checks in a single short-circuiting expression, so several classes of malformed values were silently skipped instead of rejected:
This deviates from RFC 7519 §4.1.4, which defines NumericDate as a finite JSON numeric value.
Impact
An actor able to issue tokens accepted by the application may craft tokens whose
exp,nbf, oriatclaims silently bypass time-based enforcement. This may lead to:expconfigured on the verifier.nbfaccepted as currently valid.iataccepted as legitimately issued.Deployments using a well-formed token issuer and protecting the signing key are not affected.
Severity
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Hono's Cache Middleware ignores Vary: Authorization / Vary: Cookie leading to cross-user cache leakage
CVE-2026-44457 / GHSA-p77w-8qqv-26rm
More information
Details
Summary
Cache Middleware does not skip caching for responses that declare per-user variance via
Vary: AuthorizationorVary: Cookie. As a result, a response cached for one authenticated user may be served to subsequent requests from different users.Details
The Cache Middleware skips caching when a response carries
Vary: *, certainCache-Controldirectives (private,no-store,no-cache), orSet-Cookie. However,Vary: AuthorizationandVary: Cookie— the standard signals defined in RFC 9110 / RFC 9111 to indicate per-user responses — are not treated as cache-skip reasons.This issue arises when applications use the Cache Middleware on endpoints that return user-specific data and rely on
Vary: AuthorizationorVary: Cookieto scope the response per user, without also settingCache-Control: private.Impact
A user may receive a cached response that was originally generated for a different authenticated user. This may lead to:
This issue affects applications that use the Cache Middleware on endpoints whose responses vary by
AuthorizationorCookieand that do not also setCache-Control: private.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Hono has CSS Declaration Injection via Style Object Values in JSX SSR
CVE-2026-44458 / GHSA-qp7p-654g-cw7p
More information
Details
Summary
The JSX renderer escapes
styleattribute object values for HTML but not for CSS. Untrusted input in astyleobject value or property name can therefore inject additional CSS declarations into the renderedstyleattribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout.Details
styleobject values are serialized into a CSS declaration list and escaped for HTML attribute context only. Characters that act as CSS declaration boundaries — such as;, comment markers, quoted strings, and block delimiters — are valid in HTML attribute content and can extend a value beyond its assigned property.This issue arises when untrusted input is interpolated into a JSX
styleobject and rendered server-side.Impact
An attacker who can control the value or property name of a
styleobject may inject arbitrary CSS declarations. This may lead to:url(...)This issue affects applications that render JSX on the server with
styleobject values or property names derived from untrusted input.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
honojs/hono (hono)
v4.12.18Compare Source
Security fixes
This release includes fixes for the following security issues:
Cache Middleware ignores Vary: Authorization / Vary: Cookie leading to cross-user cache leakage
Affects: Cache Middleware. Fixes missing cache-skip handling for
Vary: AuthorizationandVary: Cookie, where a response cached for one authenticated user could be served to other users. GHSA-p77w-8qqv-26rmCSS Declaration Injection via Style Object Values in JSX SSR
Affects: hono/jsx. Fixes a missing CSS-context escape for
styleobject values and property names, where untrusted input could inject additional CSS declarations. The impact is limited to CSS and does not allow JavaScript execution. GHSA-qp7p-654g-cw7pImproper validation of NumericDate claims (exp, nbf, iat) in JWT verify()
Affects:
hono/utils/jwt. Fixes improper validation ofexp,nbf, andiatclaims, where falsy, non-finite, or non-numeric values could silently bypass time-based checks instead of being rejected per RFC 7519. GHSA-hm8q-7f3q-5f36Users who use the JWT helper, hono/jsx, or the Cache middleware are strongly encouraged to upgrade to this version.
v4.12.17Compare Source
What's Changed
atom+xmlandrss+xmltodefaultExtensionMapby @yuintei in #4899New Contributors
Full Changelog: https://github.com/honojs/hono/compare/v4.12.16...v4.12.17
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.