CVE-2026-16729: undici vulnerable to cookie attribute injection via unsanitized domain and unparsed setCookie fields
The setCookie function has two attribute injection paths. validateCookieDomain does not reject semicolons (validateCookiePath already does at 0x3B), so a domain value like example.com; SameSite=None lands verbatim as Domain=example.com; SameSite=None. The unparsed array’s loop only checks each entry contains = and does not sanitize values, so an entry like X-Custom=val; HttpOnly lands unchanged, injecting HttpOnly without the caller setting cookie.httpOnly = true.
Applications that pass user-controlled input to these fields, typically multi-tenant or reverse-proxy servers that scope session cookies to a tenant-supplied domain, can have SameSite CSRF protections bypassed, Secure or HttpOnly forced or stripped, or the intended SameSite tier overridden.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-v3r7-h72x-cjcm
- github.com/nodejs/undici/commit/10d93fc332f2c8c161982dec3833201de29891b5
- github.com/nodejs/undici/commit/3bf91ddb493e853957f3a58e155326a668ab8aef
- github.com/nodejs/undici/commit/af7484043ee075a6f216da0ad77e1dac55199235
- github.com/nodejs/undici/releases/tag/v6.28.0
- github.com/nodejs/undici/releases/tag/v7.29.0
- github.com/nodejs/undici/releases/tag/v8.9.0
- github.com/nodejs/undici/security/advisories/GHSA-v3r7-h72x-cjcm
- nvd.nist.gov/vuln/detail/CVE-2026-16729
Code Behaviors & Features
Detect and mitigate CVE-2026-16729 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →