{"id":"GHSA-f577-qrjj-4474","revision":"f2b6e2202e964692b1fccee6b3139b66","records":[{"revision":"f2b6e2202e964692b1fccee6b3139b66","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-f577-qrjj-4474","aliases":["CVE-2026-47673"],"title":"Hono: JWT middleware accepts any Authorization scheme, not only Bearer","description":"### Summary\n\nThe `jwt` and `jwk` middlewares do not verify that the `Authorization` header value uses the`Bearer` scheme. Any two-part header value — regardless of the scheme name in the first position — proceeds to JWT verification. A request presenting a valid JWT under a non-`Bearer` scheme identifier (such as `Basic` or `Token`) is authenticated identically to a correctly formed `Bearer` request.\n\n### Details\n\nWhen processing an `Authorization` (or custom) header, the middleware splits the value on whitespace and uses the second token as the JWT to verify. It does not check that the first token is `bearer` (case-insensitively). RFC 6750 specifies that JWT bearer tokens must be presented using the `Bearer` scheme; other scheme identifiers carry distinct semantics and may be subject to different policies in network-layer security controls.\n\nThis discrepancy means that scheme-aware external controls — such as WAF rules, API gateways, or reverse proxies that apply policies specific to the `Bearer` scheme identifier — can be bypassed by presenting a valid JWT under a different scheme name.\n\nThis issue affects `hono/jwt` and `hono/jwk` middleware.\n\n### Impact\n\nAn attacker who possesses a valid JWT may present it under a non-`Bearer` scheme identifier and still pass middleware authentication.\n\nThis may lead to:\n\n- Bypass of network-layer security controls that inspect or filter requests based on the authorization scheme identifier\n- Token reuse across authentication schemes in applications that use multiple authorization mechanisms\n\nThis issue affects applications where `hono/jwt` or `hono/jwk` authentication is combined with external controls that enforce scheme-based access policies.","state":0,"publishedAt":"2026-06-04T17:52:04+00:00","modifiedAt":"2026-09-10T03:50:49.2242292+00:00","affected":[{"ecosystem":"npm","name":"hono","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"4.12.21"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-f577-qrjj-4474","https://nvd.nist.gov/vuln/detail/CVE-2026-47673","https://github.com/honojs/hono/commit/5463db2735476959b8af67756f4e513f4fe19115","https://github.com/honojs/hono","https://github.com/honojs/hono/releases/tag/v4.12.21"],"sourceUrl":"https://github.com/advisories/GHSA-f577-qrjj-4474","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-f577-qrjj-4474","identifiers":["GHSA-f577-qrjj-4474","CVE-2026-47673"]},"retained":false,"historicalAffected":[]}],"coverage":[]}