BlackTreeIndependent security intelligence
← Back to the CVE catalogue
Full vulnerability report · 2026
CVE-2026-9679High confidence

undici vulnerable to HTTP header injection via Set-Cookie percent-decoding

undici · undici

5.9MediumCVSS 3.1
Recommended action
Scheduled

Medium technical severity with no CISA KEV confirmation; remediate through the normal risk-based patch cycle unless local exposure raises the priority.

Patch available
Distribution package intelligence

Ubuntu vendor package status

Canonical’s release and source-package findings are shown separately from local repository availability.

1 package state
Repository candidate not checked

A published vendor fix does not prove that a matching update is enabled and installable on a particular asset. Confirm the local package candidate before scheduling remediation.

Ubuntu releaseSource packageVendor stateFixed versionEvidence
Ubuntu 24.04 LTSnoble · standard archivenode-undiciUnder evaluationCanonical reports that the package might be affected and still needs evaluation or fixing.Not published in this feedCanonical record ↗Source updated 8 Sept 2026
Direct vendor intelligence

Authoritative vendor CSAF and VEX advisories

Structured product status and remediation from the issuing vendor. Product-state explanations are always visible; large lists can be searched or downloaded.

1 current
CVE-2026-9679 · CSAF 2.0 · revision 3 · finalRed Hat Product Securityundici: undici vulnerable to HTTP header injection via Set-Cookie percent-decoding
69 known affected

The vendor explicitly identifies these products as affected by this CVE.

  • cryostat-openshift-console-plugin-npm as a component of Cryostat 4
  • grafana-infinity-datasource-npm as a component of Cryostat 4
  • undici as a component of Cryostat 4
  • openshift-pipelines/pipelines-console-plugin-pf5-rhel9 as a component of OpenShift Pipelines
  • openshift-pipelines/pipelines-console-plugin-rhel8 as a component of OpenShift Pipelines
  • openshift-pipelines/pipelines-console-plugin-rhel9 as a component of OpenShift Pipelines
  • undici as a component of Red Hat AMQ Broker 7
  • rh-podman-desktop.git as a component of Red Hat Build of Podman Desktop
  • rhdh/rhdh-hub-rhel9 as a component of Red Hat Developer Hub
  • nodejs as a component of Red Hat Enterprise Linux 10
  • nodejs-devel as a component of Red Hat Enterprise Linux 10
  • nodejs-docs as a component of Red Hat Enterprise Linux 10
Summary
A flaw was found in undici. The cookie parser in the `parseSetCookie` function incorrectly decodes cookie values, which is contrary to standard specifications. This vulnerability allows an attacker-controlled upstream to inject arbitrary HTTP response headers, such as `Set-Cookie`, `Location`, or `Cache-Control`. The primary consequence is HTTP response header injection, which can lead to session fixation, open redirect, or cache poisoning.
Remediation
For details on how to apply this update, which includes the changes described in this advisory, refer to: https://images.redhat.com/
Optional official sources

National CERT insights
?CERT means Computer Emergency Response Team; CSIRT is the closely related term Computer Security Incident Response Team.

Select the national-authority views to include. The exact source language is shown on each matched advisory. Your choice is remembered on this device and encoded in the shareable URL.

Official European source

ENISA European Vulnerability Database

Official EUVD identifiers, advisory evidence and known-exploited context. Missing fields are not treated as evidence of low risk.

1 current
ENISA EUVD identifier

EUVD-2026-37764

No EUVD known-exploited evidence

ENISA has published the identifier mapping but no EUVD description has been stored yet.

EUVD state
Present in the current official mapping
Known exploitation
Not present in the current ENISA EUVD known-exploited dataset. This is not proof of no exploitation.
ENISA score
Not supplied in the stored EUVD record
Advisory evidence
No linked advisory details stored yet
Recommended actionScheduled

Medium technical severity with no CISA KEV confirmation; remediate through the normal risk-based patch cycle unless local exposure raises the priority.

Patch available
01

What, why and how

Impact: undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either. Applications that parse a Set-Cookie header and then forward the parsed value into a response header (proxies, middleware, SSR frameworks) become vulnerable to HTTP response header injection: an attacker-controlled upstream can inject arbitrary Set-Cookie, Location, or Cache-Control headers into the application's downstream response, enabling session fixation, open redirect, or cache poisoning. Affected applications are those that use undici's cookie parsing (parseSetCookie, parseCookie, getSetCookies) and forward the parsed cookie value into a response header. This was introduced in undici 7.0.0 via PR #3789. Patches: Upgrade to undici v6.26.0, v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

What

Impact: undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either. Applications that parse a Set-Cookie header and then forward the parsed value into a response header (proxies, middleware, SSR frameworks) become vulnerable to HTTP response header injection: an attacker-controlled upstream can inject arbitrary Set-Cookie, Location, or Cache-Control headers into the application's downstream response, enabling session fixation, open redirect, or cache poisoning. Affected applications are those that use undici's cookie parsing (parseSetCookie, parseCookie, getSetCookies) and forward the parsed cookie value into a response header. This was introduced in undici 7.0.0 via PR #3789. Patches: Upgrade to undici v6.26.0, v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

Why

The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.

How

An attacker operating through a network path may attempt exploitation without authentication or user interaction. If successful, the issue may cause the confidentiality, integrity or availability impact described by the vendor.

What

Impact: undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either. Applications that parse a Set-Cookie header and then forward the parsed value into a response header (proxies, middleware, SSR frameworks) become vulnerable to HTTP response header injection: an attacker-controlled upstream can inject arbitrary Set-Cookie, Location, or Cache-Control headers into the application's downstream response, enabling session fixation, open redirect, or cache poisoning. Affected applications are those that use undici's cookie parsing (parseSetCookie, parseCookie, getSetCookies) and forward the parsed cookie value into a response header. This was introduced in undici 7.0.0 via PR #3789. Patches: Upgrade to undici v6.26.0, v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

Why

The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.

How

An attacker operating through a network path may attempt exploitation without authentication or user interaction. If successful, the issue may cause the confidentiality, integrity or availability impact described by the vendor.

02

Exploit reality and attack path

CVSS severity, EPSS forecast probability, public exploit material and CISA-confirmed exploitation are separate signals.

Observed exploitation
?Confirmed exploitation and public exploit material are separate signals. Attacks can occur without public proof-of-concept or exploit code.
No confirmed evidence

No CISA KEV match was present at the last successful refresh. This means no confirmation from that source, not proof of no exploitation.

Public PoC / exploit material
?Confirmed exploitation and public exploit material are separate signals. Attacks can occur without public proof-of-concept or exploit code.
None recorded

No exploit-tagged reference or CISA SSVC proof-of-concept state is currently recorded. Research may still exist outside the structured feeds.

Likely attack path
a network path → Improper Neutralization of CRLF Sequences ('CRLF Injection') → cause the confidentiality, integrity or availability impact described by the vendor
Attack surface
Network
Privileges required
None: unauthenticated exploitation is possible
User interaction
None
Attack complexity
High: exploitation depends on specific conditions
Security boundary
Unchanged: impact remains within the vulnerable component's security authority
Weakness
?CWE means Common Weakness Enumeration: a standard category for the underlying weakness.
CWE-93

CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection'). The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.

CVSS vector
?CVSS means Common Vulnerability Scoring System. The vector records the metric values used to calculate technical severity.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N

Common Vulnerability Scoring System 3.1: the compact vector below is decoded into plain language.

AVNetworkAttack vector: The vulnerable component can be reached over a network.ACHighAttack complexity: Successful exploitation depends on specific conditions outside the attacker's direct control.PRNonePrivileges required: The attacker does not need an account or existing privileges.UINoneUser interaction: No action by another user is required.SUnchangedScope: The security impact remains within the vulnerable component's authority.CNoneConfidentiality impact: No direct loss is represented by this metric.IHighIntegrity impact: A successful attack can cause a major loss.ANoneAvailability impact: No direct loss is represented by this metric.
Post-exploitation / living off the land
No specific living-off-the-land technique is confirmed in the structured sources. Monitor normal administration tools for activity inconsistent with the affected service's baseline.
NetworkUnauthenticatedCWE-93
A

Official authority intelligence

Only matched European and national findings are included. Language selectors and unavailable sources are omitted.

BSI · German · WID-SEC-W-2026-2618IBM App Connect Enterprise: Mehrere Schwachstellen

Ein Angreifer kann mehrere Schwachstellen in IBM App Connect Enterprise ausnutzen, um Sicherheitsvorkehrungen zu umgehen, um einen Denial of Service Angriff durchzuführen, um Informationen offenzulegen, und um Daten zu manipulieren.

Official advisory
CERT-FR · French · CERTFR-2026-AVI-1094Multiples vulnérabilités dans les produits IBM

.cve.org/CVERecord?id=CVE-2026-8646 Référence CVE CVE-2026-8723 https://www.cve.org/CVERecord?id=CVE-2026-8723 Référence CVE CVE-2026-9071 https://www.cve.org/CVERecord?id=CVE-2026-9071 Référence CVE CVE-2026-9171 https://www.cve.org/CVERecord?id=CVE-2026-9171 Référence CVE CVE-2026-9320 https://www.cve.org/CVERecord?id=CVE-2026-9320 Référence CVE CVE-2026-9322 https://www.cve.org/CVERecord?id=CVE-2026-9322 Référence CVE CVE-2026-9358 https://www.cve.org/CVERecord?id=CVE-2026-9358 Référence CVE CVE-2026-9563 https://www.cve.org/CVERecord?id=CVE-2026-9563 Référence CVE CVE-2026-9678 https://www.cve.org/CVERecord?id=CVE-2026-9678 Référence CVE CVE-2026-9679 https://www.cve.org/CVERecord?id=CVE-2026-9679 Référence CVE CVE-2026-9697 https://www.cve.org/CVERecord?id=CVE-2026-9697 Référence CVE CVE-2026-9698 https://www.cve.org/CVERecord?id=CVE-2026-9698 Gestion détaillée du document le 28 août 2026 Version initiale Alertes Avis Bulletins d’actualités Mentions légales Conditions générales À propos Contact cyber.gouv.fr service-public.fr legifrance.gouv.fr info.gouv.fr france.fr info.gouv.fr/risques Premier Ministre / Secrétariat Général de la Défense et de la Sécurité Nationale / Agence nationale de la sécurité des systèmes d'information

Official advisory
03

Patch and workaround

Operational remediation based on structured source evidence.

Status
?Patch availability is based on structured fixed-version fields and authoritative update references. If no fix is verified, check the vendor advisory before making a change.
Patch available
Affected
cryostat-openshift-console-plugin-npm as a component of Cryostat 4; grafana-infinity-datasource-npm as a component of Cryostat 4; undici as a component of Cryostat 4; openshift-pipelines/pipelines-console-plugin-pf5-rhel9 as a component of OpenShift Pipelines; openshift-pipelines/pipelines-console-plugin-rhel8 as a component of OpenShift Pipelines; openshift-pipelines/pipelines-console-plugin-rhel9 as a component of OpenShift Pipelines; undici as a component of Red Hat AMQ Broker 7; rh-podman-desktop.git as a component of Red Hat Build of Podman Desktop; rhdh/rhdh-hub-rhel9 as a component of Red Hat Developer Hub; nodejs as a component of Red Hat Enterprise Linux 10; nodejs-devel as a component of Red Hat Enterprise Linux 10; nodejs-docs as a component of Red Hat Enterprise Linux 10; nodejs-full-i18n as a component of Red Hat Enterprise Linux 10; nodejs-libs as a component of Red Hat Enterprise Linux 10; nodejs-npm as a component of Red Hat Enterprise Linux 10; nodejs22.src as a component of Red Hat Enterprise Linux 10; nodejs24 as a component of Red Hat Enterprise Linux 10; nodejs24-devel as a component of Red Hat Enterprise Linux 10; nodejs24-docs as a component of Red Hat Enterprise Linux 10; nodejs24-full-i18n as a component of Red Hat Enterprise Linux 10; nodejs24-libs as a component of Red Hat Enterprise Linux 10; nodejs24-npm as a component of Red Hat Enterprise Linux 10; nodejs24.src as a component of Red Hat Enterprise Linux 10; nodejs as a component of Red Hat Enterprise Linux 8; nodejs-devel as a component of Red Hat Enterprise Linux 8; nodejs-docs as a component of Red Hat Enterprise Linux 8; nodejs-full-i18n as a component of Red Hat Enterprise Linux 8; nodejs-libs as a component of Red Hat Enterprise Linux 8; nodejs-nodemon as a component of Red Hat Enterprise Linux 8; nodejs-nodemon.src as a component of Red Hat Enterprise Linux 8; and 39 more
Fixed
nodejs24-main@aarch64 as a component of Red Hat Hardened Images; nodejs24-main@noarch as a component of Red Hat Hardened Images; nodejs24-main@src as a component of Red Hat Hardened Images; nodejs24-main@x86_64 as a component of Red Hat Hardened Images; nodejs26-main@aarch64 as a component of Red Hat Hardened Images; nodejs26-main@noarch as a component of Red Hat Hardened Images; nodejs26-main@src as a component of Red Hat Hardened Images; nodejs26-main@x86_64 as a component of Red Hat Hardened Images; registry.redhat.io/odf4/cephcsi-rhel9-operator@sha256:21b851833c425cd0638fa0d97672b30481fe6196a38817955500f10f3516acaa_arm64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9-operator@sha256:4e29a09b15c2149d96e02b302dfa5c89d88e647467427f251d7dcc949710a153_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9-operator@sha256:7bbc972cffbd7c92a685e1cfb73365b261908046ccd7b712659b9b47737dfafa_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9-operator@sha256:dd66f2aabe08104f33b6ed32786947f9b91c37404d06b46838397c8c791dad0a_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9@sha256:5e63bdd0b4345a25ed76efcc62a068f88b0c688328713e1711ca4cac73f96d76_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9@sha256:5eeddca3c800ec55d4d7dd479cfcd1751394b40e481b86433cd3838d2170952c_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/cephcsi-rhel9@sha256:fd06b75eb32cf69d0ab0c18eb922d540f0362d12aec3a9029fa77e13f307cb3f_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-core-rhel9@sha256:2156c85468c3bd37a4a9cec2538aaf529fc4317b1cd56705c4f39247dbc1d1ff_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-core-rhel9@sha256:3701ca9bcf39e032702226a25a2d1a1ceedb2c9dc9e5bcfedc0104ad9d11e8c2_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-core-rhel9@sha256:86da6a6280816bc50f36041e7a979274c3a5b27a63bccf15507e1f66afb49464_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-rhel9-operator@sha256:0b4d42e8e476f817548053fc8363084c60e7c4c8278fdad46f89752c422318f7_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-rhel9-operator@sha256:0bdec5fd8a2a4df637a6dbe6da3c7aa7dd98e424f6ccac1b666069240c3c6a2b_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-rhel9-operator@sha256:55d1e96c46d7e18200d64878901161cad4a2e5ddb1bd2ab35e21d0e63743db4a_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/mcg-rhel9-operator@sha256:65e384de217a7ac0752bd0bd7e39f2a16d3d55023b7e389dbfd6223e3050caef_arm64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-console-rhel9@sha256:13e09d8d7196c9c24af4756aecc76226f5193a6fb8efd6314d72afb1ee8b08af_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-console-rhel9@sha256:339175c0cf3bfc97a1b5f1fd40be12b124b9eadd7e3990b40c01cc2c8f202088_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-console-rhel9@sha256:bb3516bbf6e6eeb5a9949de05c19d80a903533c0fcf4a756ff7f68af793a516c_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-rhel9-operator@sha256:06e77572fb0925499e831cea92e04009dba079413374794f89087484bce54ac9_amd64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-rhel9-operator@sha256:8251a421792fffa707904b2d23b15b11fe0e2d85b526824e7c64d74c90a582d0_arm64 as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-rhel9-operator@sha256:bec7bd0e64563d9df240e1be1b717db34ad76abbe1665404cb77f26d6b1cdc36_ppc64le as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-client-rhel9-operator@sha256:caf3ccf3985ba2b9308567885b17eb0ab34ffbbacc194b6459fc0f9f8a612974_s390x as a component of Red Hat Openshift Data Foundation 4.18; registry.redhat.io/odf4/ocs-metrics-exporter-rhel9@sha256:126f56171f915a0a53f6f5dcb315855911aa40a91c76a5f8188b7a7a103350d5_s390x as a component of Red Hat Openshift Data Foundation 4.18; and 46 more
Action
For details on how to apply this update, which includes the changes described in this advisory, refer to: https://images.redhat.com/
Workaround
A mitigation or workaround reference is available from the source linked below; validate it against the affected product and version.
04

Evidence and provenance

Published 17 Jun 2026 · Last source change 23 Jun 2026, 16:12 UTC · CWE-93 · Improper Neutralization of CRLF Sequences ('CRLF Injection')

CVE recordCVE.org · 5.2
CVSS sourceCNA
EPSS source
?The date BlackTree first stored a score for this CVE from the daily FIRST EPSS feed.
FIRST · tracked since 2026-08-14
European sourceENISA EUVD · EUVD-2026-37764
Product sourceVendor CSAF · Red Hat Product Security
Remediation sourceVendor CSAF · Red Hat Product Security
CWE sourceCNA
NVD statusNVD enriched

Core structured fields are present and their contributing authorities are shown above.

Material change intelligence

What changed after publication

View recent updates →

No material field changes have been recorded since change tracking began. Routine source refreshes and cosmetic edits are intentionally excluded.

Material fields only · duplicate refreshes suppressed · history retained for the configured operational retention period
Technical terms and abbreviations used in this report
CVE
Common Vulnerabilities and Exposures: the public identifier for one disclosed vulnerability.
CVSS
Common Vulnerability Scoring System: a technical severity framework; it is not patching priority by itself.
EPSS
Exploit Prediction Scoring System: FIRST's estimate of the probability that exploitation activity will be observed in the next 30 days; it is a forecast, not confirmation.
CWE
Common Weakness Enumeration: the standard category describing the underlying software or hardware weakness.
CNA
CVE Numbering Authority: an organisation authorised to assign and publish CVE records.
CISA ADP
Cybersecurity and Infrastructure Security Agency Authorized Data Publisher: structured enrichment added to a CVE record.
NVD
National Vulnerability Database: NIST's enrichment service for CVE records.
CERT / CSIRT
A computer security incident response team that publishes warnings or coordinates incident response.
PoC
Proof of concept: public material that demonstrates or helps reproduce exploitation.
CSAF
Common Security Advisory Framework: a machine-readable format for security advisories.
LoTL
Living off the land: abuse of legitimate tools or system functions during an attack.
Free version - for non-commercial use only.CVE-2026-9679 · cve.blacktree.nl