CVE-2026-9697 - Impact: undici's ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (sock

CVE-2026-9697 + Impact: undici’s ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (sock + High + 2026-06-17

One-sentence business risk

Broken authentication or authorization can expose tenant data and administrator actions, which buyers treat as a release blocker.

Research notes

  • Root cause: Impact: undici’s ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (socks5:// or socks://).
  • Affected versions: through the SOCKS5 tunnel falls back to Node’s default trust store, ignoring user-configured ca, cert, key, rejectUnauthorized, and servername sett.
  • Fixed / safe versions: Upgrade to undici v7.28.0 or v8.5.0…
  • Public exploit / PoC signal: the consulted NVD/GHSA/vendor sources describe the trigger class; treat it as reproducible until patched.
  • CVSS: 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N.

Exact vulnerable code pattern

if verify_certificate(chain) == OK: trust_peer()

Fixed / mitigated code pattern

verify hostnames, negotiated certificate type, revocation markers, and trusted anchors

Dependency or runtime update:

rg -n "wolfssl|OpenSSL|X509|ML-KEM|X25519" .
# update vendored library/submodule/package to the fixed vendor release and rebuild

Step-by-step integration guide

  1. Inventory affected component across source, lockfiles, SBOMs, container images, CI images, and deployment manifests.
  2. Upgrade to Upgrade to undici v7.28.0 or v8.5.0. or apply the exact vendor patch referenced below.
  3. Replace the vulnerable cert-validation pattern with the fixed pattern and fail closed on malformed input.
  4. Add a regression test that exercises the advisory trigger and proves the request is rejected, bounded, or authorized.
  5. Deploy through canary, monitor security logs and resource metrics, then remove temporary edge blocks only after all runtimes are fixed.

Alternative mitigations

  • Disable the vulnerable feature path while the package/runtime update rolls out.
  • Add WAF or reverse-proxy rules for traversal tokens, prototype-polluting keys, oversized frames, shell metacharacters, or unauthenticated tool calls matching the trigger class.
  • Restrict internal egress, rotate exposed secrets, and revoke affected tokens/keys if the vulnerability can disclose config, logs, JWT secrets, proxy credentials, or PKI material.
  • For admin/API authorization issues, temporarily require elevated roles and explicit ownership checks at the gateway.

Detection signature

id: cve-2026-9697-impact-undici-s-proxyagent-silently-drops-the-re
source: NVD bulk JSON feed
dependency_or_product: "affected component"
affected: "through the SOCKS5 tunnel falls back to Node's default trust store, ignoring user-configured ca, cert, key, rejectUnauthorized, and servername sett"
fixed: "Upgrade to undici v7.28.0 or v8.5.0."
signals:
  - "cert-validation"
  - "../"
  - "__proto__"
  - "tools/call"
  - "wp_ajax_nopriv"
  - "pickle.loads"
  - "shell command construction"
action: "upgrade, add regression test, and verify deploy artifact"

Copy-paste skill

You are remediating CVE-2026-9697 (Impact: undici's ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (sock) in this repository.

Find every affected dependency, runtime, image, service configuration, and reachable code path. Upgrade or patch to Upgrade to undici v7.28.0 or v8.5.0.. Replace the vulnerable cert-validation pattern with a fail-closed implementation, add a regression test for the trigger shape, and update deployment/SBOM artifacts. If this repository does not control the affected runtime, create TRIAGE.md naming the owner, affected version, fixed version, and blocking decision.

Keywords, affected tech stack, and revenue tags

  • Keywords: CVE-2026-9697, cert-validation, affected component, NVD bulk JSON feed.
  • Affected tech stack: c/c++.
  • Revenue tags: sellable_to_fintech, enterprise_blocker, high_priority_sla.

References