Bug 2528735 (CVE-2026-84961) - CVE-2026-84961 undici: undici: TLS certificate validation bypass in BalancedPool via dropped connect options
Summary: CVE-2026-84961 undici: undici: TLS certificate validation bypass in BalancedP...
Keywords:
Status: NEW
Alias: CVE-2026-84961
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2531869
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-04 17:16 UTC by OSIDB Bzimport
Modified: 2026-09-21 10:35 UTC (History)
60 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-04 17:16:49 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.