Skip to content
Fencer Intel
high 7.4

CVE-2026-84961 json

undici vulnerable to TLS certificate validation bypass via dropped connect options in BalancedPool

published 2mo ago modified last mo. also EUVD-2026-71494 , GHSA-w293-vg96-wgc3

cvss
7.4
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 7%
public exploits
0
none known

Summary

undici's BalancedPool constructor passes its entire options object through an internal deep-clone that serializes and reparses the value as JSON. Because JSON cannot represent functions, any function-valued TLS option, such as a caller-supplied checkServerIdentity callback or a custom connector inside the connect option, is silently discarded before it reaches the TLS layer. As a result a peer whose certificate the application's custom checkServerIdentity was written to reject, but which still passes Node's default hostname and chain checks, is accepted when reached through BalancedPool. The Client, Pool, and Agent dispatchers are not affected because they extract the connect and tls options before cloning. This affects undici versions from 7.24.1 up to 7.29.1 and from 8.0.0 up to 8.10.2, and only when the application supplies a function-valued connect or tls option to BalancedPool. Users should upgrade to undici 7.29.1 or 8.10.2.

Patch / fix

  • npm undici 7.29.1, 8.10.2
  • undici undici 7.29.1, 8.10.2
  • node-undici Debian 14 8.10.2+dfsg+~cs3.2.2-1

debian advisories DEBIAN-CVE-2026-84961

  • npm RHEL 8 1:11.19.0-1.24.21.0.1.module+el8.10.0+24927+ed3d907a
  • nodejs RHEL 8 1:24.21.0-1.module+el8.10.0+24927+ed3d907a
  • nodejs-libs RHEL 8 1:24.21.0-1.module+el8.10.0+24927+ed3d907a
  • nodejs-nodemon RHEL 8 3.1.14-2.module+el8.10.0+24711+b610b202
  • nodejs-full-i18n RHEL 8 1:24.21.0-1.module+el8.10.0+24927+ed3d907a
  • nodejs-packaging RHEL 8 2021.06-6.module+el8.10.0+24711+b610b202
  • nodejs-packaging-bundler RHEL 8 2021.06-6.module+el8.10.0+24711+b610b202
  • npm RHEL 9 1:11.19.0-1.24.21.0.1.module+el9.8.0+24924+cd677006

red hat advisories RHSA-2026:74085RHSA-2026:73838RHSA-2026:73428RHSA-2026:66605RHSA-2026:66008RHSA-2026:54438

  • pi-coding-agent openSUSE Leap 16.0 1.0.4-bp160.1.1
  • pi-coding-agent openSUSE Tumbleweed 0.87.1-1.1

opensuse advisories openSUSE-SU-2026:22111-1openSUSE-SU-2026:11884-1

  • npm AlmaLinux 9 1:11.19.0-1.24.21.0.1.module_el9.8.0+321+1555b6a2
  • nodejs AlmaLinux 9 1:24.21.0-1.module_el9.8.0+321+1555b6a2
  • nodejs-libs AlmaLinux 9 1:24.21.0-1.module_el9.8.0+321+1555b6a2
  • nodejs-nodemon AlmaLinux 9 3.1.14-3.module_el9.8.0+292+f4eaf8b2
  • nodejs-full-i18n AlmaLinux 9 1:24.21.0-1.module_el9.8.0+321+1555b6a2
  • nodejs-packaging AlmaLinux 9 2021.06-6.module_el9.7.0+209+ecf6523e
  • nodejs-packaging-bundler AlmaLinux 9 2021.06-6.module_el9.7.0+209+ecf6523e
  • npm AlmaLinux 8 1:11.19.0-1.24.21.0.1.module_el8.10.0+4292+21afb960

almalinux advisories ALSA-2026:73838ALSA-2026:74085ALSA-2026:73428

  • nodejs-nodemon Rocky Linux 9 3.1.14-1.module+el9.8.0+40263+faa47049
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40052+e32ea525
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40165+d075e3f2
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.8.0+40164+8921ab53
  • nodejs-packaging Rocky Linux 9 2021.06-6.module+el9.7.0+40153+4d595597
  • nodejs24 Rocky Linux 10 1:24.21.0-1.el10_2
  • nodejs-nodemon Rocky Linux 8 3.1.14-2.module+el8.10.0+40277+b1b3f89e
  • nodejs-nodemon Rocky Linux 8 3.1.14-2.module+el8.10.0+40278+50b003a3

rocky linux advisories RLSA-2026:97855RLSA-2026:73428RLSA-2026:74085RLSA-2026:73838

Is CVE-2026-84961 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-84961 updated cvss 7.4

undici: undici: TLS certificate validation bypass in BalancedPool via dropped connect options

  • Red Hat Exploit Intelligence exploit-intelligence/vulnerability-analysis-rhel9 Red Hat OpenShift Pipelines openshift-pipelines/pipelines-console-plugin-rhel9, openshift-pipelines/pipelines-console-plugin-pf5-rhel9 Red Hat Build of Podman Desktop rh-podman-desktop.git 1.1.0
    affected: workaround, no fix available
  • Red Hat Enterprise Linux 8 npm, nodejs, nodejs-libs, nodejs-nodemon, nodejs-full-i18n, nodejs-packaging, +1 more Red Hat Enterprise Linux 9 npm, nodejs, nodejs-libs, nodejs-full-i18n Red Hat Enterprise Linux 10 nodejs22 22.23.2-1.el10_2 Red Hat Hardened Images nodejs25 25.9.0-1.6.hum1
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9, rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-operator-rhel9, rhoai/odh-mod-arch-agent-ops-rhel9 Red Hat Openshift Data Foundation 4 odf4/mcg-core-rhel9, odf4/ocs-client-console-rhel9, odf4/odf-multicluster-console-rhel9
    affected: workaround, no fix available
  • Red Hat Secrets Management Console for Red Hat OpenShift external-secrets-management/console-plugin-rhel9
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Cluster Observability Operator 1.5 cluster-observability-operator/monitoring-console-plugin-rhel9 1790854525, cluster-observability-operator/logging-console-plugin-pf4-rhel9 1790854525, cluster-observability-operator/monitoring-console-plugin-pf5-rhel9 1790854526, cluster-observability-operator/monitoring-console-plugin-pf6-rhel9 1790854528, cluster-observability-operator/distributed-tracing-console-plugin-rhel9 1793661918, cluster-observability-operator/distributed-tracing-console-plugin-rhel9 1793824908, +6 more
    fixed: vendor fix RHSA-2026:95591
  • Red Hat Ansible Automation Platform 2.1 ansible-automation-platform/automation-portal 1791295379
    fixed: vendor fix RHSA-2026:80603
  • Red Hat Ansible Automation Platform 2.2 ansible-automation-platform/automation-portal 1791293780, ansible-automation-platform/bootc-automation-portal-rhel9 1791865660
    fixed: vendor fix RHSA-2026:80644
  • Red Hat Developer Hub 1.9 rhdh/rhdh-hub-rhel9 1789554285
    fixed: vendor fix RHSA-2026:69248
show 15 more
  • Red Hat Developer Hub 1.10 rhdh/rhdh-hub-rhel9 1791311495, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed-backend 1791242697, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend 1791251282, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator-backend-module-loki 1791250355, rhdh/red-hat-developer-hub-backstage-plugin-scaffolder-backend-module-orchestrator 1791249640
    fixed: vendor fix RHSA-2026:76788
  • Red Hat Enterprise Linux AppStream (v. 8) nodejs 24.21.0-1.module+el8.10.0+24927+ed3d907a, nodejs-libs 24.21.0-1.module+el8.10.0+24927+ed3d907a, nodejs-nodemon 3.1.14-2.module+el8.10.0+24711+b610b202, npm 11.19.0-1.24.21.0.1.module+el8.10.0+24927+ed3d907a, nodejs-full-i18n 24.21.0-1.module+el8.10.0+24927+ed3d907a, nodejs-packaging 2021.06-6.module+el8.10.0+24711+b610b202, +1 more
    fixed: vendor fix RHSA-2026:74085
  • Red Hat Enterprise Linux AppStream (v. 9) nodejs 26.8.2-1.module+el9.9.0+24929+16cef9a5, nodejs 24.21.0-1.module+el9.8.0+24924+cd677006, nodejs-libs 26.8.2-1.module+el9.9.0+24929+16cef9a5, nodejs-libs 24.21.0-1.module+el9.8.0+24924+cd677006, npm 11.19.1-1.26.8.2.1.module+el9.9.0+24929+16cef9a5, nodejs-nodemon 3.1.14-1.module+el9.9.0+24923+ac50c00f, +8 more
    fixed: vendor fix RHSA-2026:73838
  • Red Hat Enterprise Linux AppStream (v. 10) nodejs26 26.8.2-1.el10_3, nodejs24 24.21.0-1.el10_2, nodejs26-libs 26.8.2-1.el10_3, nodejs24-libs 24.21.0-1.el10_2, nodejs26-full-i18n 26.8.2-1.el10_3, nodejs24-full-i18n 24.21.0-1.el10_2, +2 more
    fixed: vendor fix RHSA-2026:73428
  • Red Hat Hardened Images nodejs26 26.8.2-0.1.hum1, nodejs24 24.18.1-0.2.2.hum1, grafana12.4 12.4.10-0.2.hum1, nodejs26-bin 26.8.2-0.1.hum1, nodejs26-libs 26.8.2-0.1.hum1, nodejs24-bin 24.18.1-0.2.2.hum1, +7 more
    fixed: vendor fix RHSA-2026:66008
  • Red Hat OpenShift AI 2.25 rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 1791288400
    fixed: vendor fix RHSA-2026:87410
  • Red Hat OpenShift AI 3.4 rhoai/odh-dashboard-rhel9 1791861020, rhoai/odh-mod-arch-maas-rhel9 1791860708, rhoai/odh-mod-arch-automl-rhel9 1791861032, rhoai/odh-mod-arch-gen-ai-rhel9 1791861479, rhoai/odh-mod-arch-mlflow-rhel9 1791861383, rhoai/odh-mod-arch-autorag-rhel9 1791860994, +3 more
    fixed: vendor fix RHSA-2026:84734
  • Red Hat OpenShift AI 3.5 rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 1791825469
    fixed: vendor fix RHSA-2026:86891
  • Red Hat Openshift Data Foundation 4.19 odf4/odf-console-rhel9 1793126829
    fixed: vendor fix RHSA-2026:92650
  • Red Hat OpenShift Dev Spaces 3.31 devspaces/code-rhel9 1792599388, devspaces/openvsx-rhel9 1792494821, devspaces/dashboard-rhel9 1791945540, devspaces/pluginregistry-rhel9 1792495212
    fixed: vendor fix RHSA-2026:90321
  • Red Hat Cluster Observability Operator 1.5 cluster-observability-operator/perses-rhel9 1790854501, cluster-observability-operator/perses-rhel9 1793661985, cluster-observability-operator/perses-rhel9 1793825744, cluster-observability-operator/thanos-rhel9 1790854526, cluster-observability-operator/thanos-rhel9 1793660568, cluster-observability-operator/thanos-rhel9 1793821585, +57 more Red Hat AMQ Broker 7 amq-broker-bin.zip 7.14.1.CR2, amq-broker-maven-repository.zip 7.14.1.CR3
    not affected: vulnerable code not present
  • Red Hat Ansible Automation Platform 2 automation-platform-ui 2.6.13-1.el9ap
    not affected: component not present
  • Red Hat Developer Hub 1.9 rhdh/rhdh-rhel9-operator 1789552931, rhdh/rhdh-operator-bundle 1789558887 Red Hat Developer Hub 1.10 rhdh/rhdh-rhel9-operator 1791219676, rhdh/rhdh-operator-bundle 1791315788, rhdh/rhdh-must-gather-rhel9 1788278523, rhdh/rhdh-rag-content-rhel9 1791168570, rhdh/red-hat-developer-hub-backstage-plugin-lightspeed 1791242743, rhdh/red-hat-developer-hub-backstage-plugin-orchestrator 1791250003, +1 more Red Hat Enterprise Linux 10 grafana 12.4.3-2.el10 Red Hat Hardened Images rust 1.97.1-2.hum1, jaeger 2.20.0-0.8.hum1, prometheus3.13 3.13.2-0.2.hum1 Red Hat OpenShift AI 2.25 rhoai/odh-rhel9-operator 1792570619, rhoai/odh-vllm-cpu-rhel9 1792018436, rhoai/odh-dashboard-rhel9 1791853525, rhoai/odh-modelmesh-rhel9 1790881700, rhoai/odh-operator-bundle 1792571069, rhoai/odh-vllm-cuda-rhel9 1791358976, +65 more Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1791509689, rhoai/odh-automl-rhel9 1791535789, rhoai/odh-mlflow-rhel9 1791865967, rhoai/odh-autorag-rhel9 1791557539, rhoai/odh-trainer-rhel9 1791869783, +91 more
    +1 more products
    Red Hat OpenShift AI 3.5 rhoai/odh-cli-rhel9 1791945905, rhoai/rhai-cli-rhel9 1791945905, rhoai/odh-automl-rhel9 1791916705, rhoai/odh-mlflow-rhel9 1791947857, rhoai/odh-autorag-rhel9 1791903266, rhoai/odh-trainer-rhel9 1791952138, +112 more
    not affected: vulnerable code not present
  • Red Hat OpenShift Container Platform 4 wasmedge, wasmedge-rt, openshift4/ose-monitoring-plugin-rhel9
    not affected: vulnerable code not in execute path
  • Red Hat Openshift Data Foundation 4.19 odf4/cephcsi-rhel9 1793125678, odf4/odf-cli-rhel9 1793126086, odf4/mcg-core-rhel9 1793125866, odf4/mcg-rhel9-operator 1793125881, odf4/ocs-rhel9-operator 1793126016, odf4/odf-rhel9-operator 1793126364, +26 more Red Hat OpenShift Dev Spaces 3.31 devspaces/udi-rhel9 1792708612, devspaces/server-rhel9 1792775639, devspaces/traefik-rhel9 1792464177, devspaces/udi-base-rhel9 1792686842, devspaces/code-sshd-rhel9 1792598059, devspaces/configbump-rhel9 1792461966, +6 more Red Hat Trusted Artifact Signer rhtas/rhtas-console-ui-rhel9
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
2mo ago

Exploit prediction

0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-11).

CVSS scores

assigned by version score vector
CNA 3.1 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
GitHub 3.1 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
NVD 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
npm undici
>=7.24.1, <7.29.1
>=8.0.0, <8.10.2
7.29.1
8.10.2

Affected products

  • undici undici

Classification

Weakness
  • CWE-295 Improper Certificate Validation

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

The maintainers of nodejs/undici published their own advisory on GitHub. Reviewed sources take precedence over it.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.