{"id":"GHSA-3hrh-pfw6-9m5x","revision":"3682bcd8db4b40c98dc807a005d8bafc","records":[{"revision":"3682bcd8db4b40c98dc807a005d8bafc","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-3hrh-pfw6-9m5x","aliases":["CVE-2026-47675"],"title":"Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection","description":"### Summary\n\nThe `serialize()` function in `hono/cookie` validates `domain` and `path` options against characters that corrupt `Set-Cookie` header syntax (`;`, `\\r`, `\\n`), but does not apply the same validation to `sameSite` and `priority`. An application that passes user-controlled input into either option may produce a `Set-Cookie` response header containing attacker-chosen additional attributes.\n\n### Details\n\nWhen constructing a `Set-Cookie` header value, `serialize()` appends the `sameSite` and `priority` option values directly into the output string after a presentation-only transformation (capitalizing the first character). Although the TypeScript type signature constrains these options to specific string literals, that constraint is not enforced at runtime; any string value, including one containing `;` or line-feed characters, passes through unchanged.\n\nThe validation guard that rejects `;`, `\\r`, and `\\n` from `domain` and `path` is not applied to `sameSite` or `priority`. An application that passes a request-derived value to either option therefore provides an injection point into the header line.\n\nThis issue arises when an application passes user-controlled input to the `sameSite` or `priority` option of `setCookie()` or `serialize()`.\n\n### Impact\n\nAn attacker who can control the `sameSite` or `priority` option value may inject additional attributes into a `Set-Cookie` response header.\n\nThis may lead to:\n\n- Cookie attribute injection — overriding `Domain`, `Path`, `HttpOnly`, `Secure`, or `Max-Age` for the affected cookie\n- HTTP response header injection on runtimes that do not strictly validate header values, enabling a second attacker-controlled `Set-Cookie` header in the same response\n\nThis issue affects applications that pass user-derived input into the `sameSite` or `priority` option of `hono/cookie` serialization functions.","state":0,"publishedAt":"2026-06-04T17:59:25+00:00","modifiedAt":"2026-09-10T03:50:55.2939827+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:L/PR:N/UI:R/S:U/C:N/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-3hrh-pfw6-9m5x","https://nvd.nist.gov/vuln/detail/CVE-2026-47675","https://github.com/honojs/hono/commit/905aedbc20661e0e2fa378783a7ec44a5c3df43d","https://github.com/honojs/hono","https://github.com/honojs/hono/releases/tag/v4.12.21"],"sourceUrl":"https://github.com/advisories/GHSA-3hrh-pfw6-9m5x","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-3hrh-pfw6-9m5x","identifiers":["GHSA-3hrh-pfw6-9m5x","CVE-2026-47675"]},"retained":false,"historicalAffected":[]}],"coverage":[]}