CVE-2026-16729: undici vulnerable to cookie attribute injection via unsanitized domain and unparsed setCookie fields

Published Jul 29, 2026
·
Updated

Impact

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.

Patches

Patched in undici v6.28.0, v7.29.0, and v8.9.0.

Workarounds

- Sanitize domain values against the RFC 1034 letter-digit-hyphen set before passing to setCookie. - Do not pass user-controlled data to the unparsed field.

Other sources

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.

NVD

Affected Software

9 affected componentsFixes available
undici undici>0<6.28.0
undici undici>=7.0.0<7.29.0
undici undici>=8.0.0<8.9.0
npm/undici>=8.0.0<8.9.0
8.9.0
npm/undici>=7.0.0<7.29.0
7.29.0
npm/undici<6.28.0
6.28.0
Nodejs Undici Node.js<6.28.0
Nodejs Undici Node.js>=7.0.0<7.29.0
Nodejs Undici Node.js>=8.0.0<8.9.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 8.9.0
  2. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 7.29.0
  3. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 6.28.0
  4. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 6.28.0
  5. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 7.29.0
  6. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 8.9.0
  7. Configuration

    Ensure the `unparsed` array entries passed to `setCookie` are not influenced by user-controlled input, since entries are not sanitized and can inject attributes (e.g., `X-Custom=val; HttpOnly`).

    undici (setCookie) unparsed = Do not pass user-controlled data to the `unparsed` field
  8. Configuration

    Before passing a tenant-supplied `domain` value into `setCookie`, sanitize/validate it so it contains only RFC 1034 letter-digit-hyphen characters (mitigates semicolon injection such as `example.com; SameSite=None`).

    undici (setCookie) domain = Sanitize against RFC 1034 letter-digit-hyphen set before calling setCookie

Event History

Jul 29, 2026
CVE Published
via MITRE·04:45 PM
Data Sourced
via MITRE·04:45 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
DescriptionSeverityWeaknessAffected Software
Aug 3, 2026
Advisory Published
via GitHub·07:30 PM
Data Sourced
via GitHub·07:30 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-16729?

CVE-2026-16729 has a medium severity rating of 4.8.

2

How do I fix CVE-2026-16729?

To fix CVE-2026-16729, upgrade undici to version 6.28.0 or later, or to a specific version after 7.29.0 and after 8.9.0.

3

What impact does CVE-2026-16729 have on my application?

CVE-2026-16729 can allow attackers to inject malicious cookie attributes due to insufficient sanitization.

4

What versions of undici are affected by CVE-2026-16729?

CVE-2026-16729 affects undici versions prior to 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0.

5

What does the CVE-2026-16729 vulnerability exploit?

CVE-2026-16729 exploits the lack of sanitization in the setCookie function, specifically targeting the domain value and unparsed cookie fields.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203