CVSS 7.5 HIGH

undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation

Mã khác
GHSA-qrxm-fqhp-jwvm
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory, OSV.dev

Mô tả

Impact

undici crashes the client process when a TLS 1.2 server renegotiates after the connection is established and presents a different, CA-trusted certificate whose hostname does not match the requested host. Node.js re-runs hostname verification on the renegotiated handshake and destroys the socket with ERR_TLS_CERT_ALTNAME_INVALID. undici's established socket error handler asserted that this error code could never occur, so the peer-controlled error became an uncaught AssertionError that terminates the Node.js process. Both the HTTP/1.1 and HTTP/2 paths are affected.

A malicious or compromised HTTPS endpoint reached through undici or the global fetch() can crash the client with a single server-initiated renegotiation, taking down all in-flight requests and background work in the process. Only TLS 1.2 is affected, because TLS 1.3 does not support renegotiation. Exploitation does not require a CA compromise: the attacker controls the endpoint and can present two ordinary valid certificates, the first matching the requested URL and the second intentionally not matching it.

Patches

Upgrade to undici 6.29.1, 7.30.1, or 8.12.2.

Workarounds

Restrict outbound connections to TLS 1.3, for example by setting connect: { minVersion: 'TLSv1.3', maxVersion: 'TLSv1.3' } on the client or agent, so that renegotiation cannot occur, when the target endpoints support TLS 1.3.

Điểm và phân loại

CVSS
7.5 HIGH v3.1
Nguồn điểm
GitHub Advisory
Mức độ (theo nguồn)
HIGH
EPSS
0.19%

Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
npm undici >= 4.2.1, < 6.29.1 6.29.1
npm undici >= 7.0.0, < 7.30.1 7.30.1
npm undici >= 8.0.0, < 8.12.2 8.12.2

Vì sao bị lọc

  • CVSS 7.5 < 8.0 và không thuộc CISA KEV

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Dữ liệu riêng của nguồn

OSV.dev · ID
GHSA-qrxm-fqhp-jwvm

Tham khảo