VDB
KO
MEDIUM 5.4

GHSA-5pq2-9x2x-5p6w

Hono Vulnerable to Cookie Attribute Injection via Unsanitized domain and path in setCookie()

Details

## Summary

The `setCookie()` utility did not validate semicolons (`;`), carriage returns (`\r`), or newline characters (`\n`) in the `domain` and `path` options when constructing the `Set-Cookie` header.

Because cookie attributes are delimited by semicolons, this could allow injection of additional cookie attributes if untrusted input was passed into these fields.

## Details

`setCookie()` builds the `Set-Cookie` header by concatenating option values. While the cookie value itself is URL-encoded, the `domain` and `path` options were previously interpolated without rejecting unsafe characters.

Including `;`, `\r`, or `\n` in these fields could result in unintended additional attributes (such as `SameSite`, `Secure`, `Domain`, or `Path`) being appended to the cookie header.

Modern runtimes prevent full header injection via CRLF, so this issue is limited to attribute-level manipulation within a single `Set-Cookie` header.

The issue has been fixed by rejecting these characters in the `domain` and `path` options.

## Impact

An attacker may be able to manipulate cookie attributes if an application passes user-controlled input directly into the `domain` or `path` options of `setCookie()`.

This could affect cookie scoping or security attributes depending on browser behavior. Exploitation requires application-level misuse of cookie options.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / hono
Introduced in: 0 Fixed in: 4.12.4
Fix npm install hono@4.12.4

References