Medium · published July 29, 2026
undici's setCookie function does not fully sanitize cookie attributes. In undici before 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0, a domain value is not checked for semicolons and entries in the unparsed array are not sanitized, so attacker-influenced input can inject additional cookie attributes. For example, a domain value containing a semicolon can append attributes such as SameSite, and an unparsed entry can inject attributes such as HttpOnly, without the caller setting them. Applications that pass user-controlled input to these fields, such as multi-tenant or reverse-proxy servers that scope session cookies to a tenant-supplied domain, can have SameSite CSRF protections bypassed, or the Secure, HttpOnly, and SameSite attributes forced, stripped, or overridden. The issue is fixed in undici 6.28.0, 7.29.0, and 8.9.0.
| Product | Versions | Fixed in |
|---|---|---|
| nodejs/undici | < 6.28.0 | 6.28.0 |
| nodejs/undici | ≥ 7.0.0, < 7.29.0 | 7.29.0 |
| nodejs/undici | ≥ 8.0.0, < 8.9.0 | 8.9.0 |