{"kind": "product", "path": "vulns/debian-14/node-undici", "name": "node-undici", "product": "node-undici", "ecosystem": "Debian:14", "items": [{"id": "CVE-2026-87029", "noindex": false, "published": "2026-10-15T18:48:36.902Z", "modified": "2026-10-16T19:58:52.997Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.0026, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-87029", "title": "undici vulnerable to Denial of Service via unhandled exception in the decompress interceptor", "description": "undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its decompress interceptor forwards decompressed response data to the downstream handler from zlib stream event callbacks without catching exceptions those callbacks may throw, and while undici's engine converts a synchronous throw from a downstream handler into a per-request failure, that protection is absent when the throw happens asynchronously from a zlib callback. As a result, a downstream handler that throws by design, such as the built-in dump interceptor which throws when a response exceeds its configured maximum size, escapes as ", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-55wc-3pg8-jfw6", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-87029"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109932", "noindex": false, "published": "2026-10-15T18:44:22.571Z", "modified": "2026-10-16T20:00:38.791Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.00321, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109932", "title": "undici WebSocket client vulnerable to Denial of Service via unbounded automatic PONG buffering", "description": "undici is an HTTP client library for Node.js. In versions 5.15.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its WebSocket client, including the bundled WebSocket exposed by Node.js, can be driven to exhaust process memory by a malicious or compromised WebSocket server. For every PING frame received, the client automatically writes a PONG response and ignores the backpressure signal from the socket write, so a server that streams small PING frames while never reading the client's PONGs makes the outbound write queue and heap grow without bound until the Node.js process runs out of memory and terminates. The attack is remot", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-9fm3-97px-rjf6", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109932"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-87018", "noindex": false, "published": "2026-10-15T18:38:25.613Z", "modified": "2026-10-16T20:01:29.402Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.00187, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-87018", "title": "undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation", "description": "undici is an HTTP client library for Node.js. In versions 4.2.1 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, the client process crashes 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 a certificate-altname error, but undici's established-socket error handler asserted that this error code could never occur, so the peer-controlled error became an uncaught assertion that terminates the Node.js process, affecting", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-qrxm-fqhp-jwvm", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-87018"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109383", "noindex": false, "published": "2026-10-15T18:34:01.468Z", "modified": "2026-10-16T20:03:30.839Z", "cvss": 7.4, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "severity": "high", "epss": 0.00184, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109383", "title": "undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent", "description": "undici is an HTTP client library for Node.js. In versions 4.0.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its Agent dispatcher passes its constructor options through a JSON-based deep clone before forwarding them to each per-origin pool, and because JSON cannot represent functions, a caller-supplied tls option containing a checkServerIdentity callback is silently dropped before it reaches the TLS layer. As a result, a TLS peer whose certificate a custom checkServerIdentity was written to reject, but which passes Node's default hostname and chain checks, is silently accepted. Because Agent is the default dispatcher behind", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-2m5v-pch6-74hx", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109383"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109829", "noindex": false, "published": "2026-10-15T18:28:04.954Z", "modified": "2026-10-16T20:04:09.504Z", "cvss": 7.4, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "severity": "high", "epss": 0.00149, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109829", "title": "undici vulnerable to cache poisoning and cross-user disclosure via cross-origin redirects", "description": "undici is an HTTP client library for Node.js. In versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1, when an originless Agent composes the redirect and cache interceptors in that order with a shared cache store, the cache builds its key from the original request URL before the redirect handler changes the origin, so a response produced after a cross-origin redirect is stored under the original key. An attacker who controls the target of a redirect from a trusted URL can have their response cached under that trusted URL and served to later callers, allowing persistent cache poisoning, and the same key confusion lets a private, non-stored r", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-4w7w-5xrc-9h26", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109829"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109841", "noindex": false, "published": "2026-10-15T18:22:06.283Z", "modified": "2026-10-16T20:04:41.388Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N", "severity": "medium", "epss": 0.00251, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109841", "title": "undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens", "description": "undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its fetch() implementation verifies Subresource Integrity metadata by matching the algorithm token against a lowercase-only set, even though the SRI specification defines the token by its ASCII-lowercase form, so a valid but non-lowercase token such as an uppercase or mixed-case SHA256 is treated as unknown and skipped. When no recognized algorithm remains, undici treats the integrity list as empty and accepts the response, so a server returning a body that does not match the pinned digest passes the check. An attacker who controls only t", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-f72v-6w45-q472", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109841"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109924", "noindex": false, "published": "2026-10-15T18:16:48.452Z", "modified": "2026-10-16T20:05:22.386Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.00321, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109924", "title": "undici vulnerable to Denial of Service via unbounded memory in the EventSource parser", "description": "undici is an HTTP client library for Node.js. In versions 6.5.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its EventSource client can be driven to exhaust process memory by a malicious or compromised Server-Sent Events peer. By sending millions of tiny completed data fields with no blank event separator, or a single unfinished line split across many chunks, the parser retains a growing amount of per-field and per-chunk state that the byte-based maxEventSize and maxResponseSize limits do not bound, and because maxResponseSize is enforced on the compressed body before decompression, a small compressed response can expand in", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-4qv8-2p9j-2685", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109924"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109869", "noindex": false, "published": "2026-10-15T18:08:31.243Z", "modified": "2026-10-16T20:06:00.782Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.00343, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109869", "title": "undici vulnerable to Denial of Service via unhandled error on excessive content-encodings", "description": "undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses because of a content-encoding limit, but it created the internal response stream before that check and returned without attaching an error listener or aborting the request, so the early close surfaces a content-length mismatch on the orphaned stream, which Node.js treats as an unhandled error and termina", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-xjj6-f33q-929c", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109869"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-109855", "noindex": false, "published": "2026-10-15T08:12:51.245Z", "modified": "2026-10-15T14:22:28.644Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.00278, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-109855", "title": "undici WebSocket client vulnerable to Denial of Service via failed HTTP/2 handshake", "description": "undici is an HTTP client library for Node.js. In versions 8.11.0 and 8.11.1, its experimental WebSocket client, which is enabled by default when HTTP/2 is allowed, mishandles a failed WebSocket handshake over HTTP/2: the request is already marked completed, so the abort becomes a no-op and the underlying HTTP/2 stream is left open with no error listener. When a malicious server then destroys the connection, the orphaned stream emits an unhandled error and the Node.js process exits. A remote, unauthenticated server can therefore crash any client that opens a WebSocket to it over HTTP/2, resulting in a denial of service. The issue is fixed in u", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-qq8j-7v2v-3rwp", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-109855"], "fixes": [], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-18149", "noindex": false, "published": "2026-09-04T17:21:46.263Z", "modified": "2026-09-04T17:49:50.163Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.0036, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-18149", "title": "undici vulnerable to Denial of Service via orphaned RetryHandler response body", "description": "undici's retry handler can leave an already-exposed response body pending forever. When a server returns a successful response that declares a Content-Length, sends only part of the body, and closes the connection, the retry handler retries the request. If the retry returns a non-retryable status such as 400, the handler forwards that new response downstream and replaces its internal response stream, but the original response body that the application still holds is never ended or destroyed. As a result calls that read that body never settle, and the configured body timeout does not fire because its timer is tied to the connection parser rath", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-pmjh-fq2x-6v4x", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-18149"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-18540", "noindex": false, "published": "2026-09-04T17:15:50.619Z", "modified": "2026-09-04T17:50:13.682Z", "cvss": 3.7, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N", "severity": "low", "epss": 0.00239, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-18540", "title": "undici vulnerable to downstream response splitting via retry interceptor", "description": "undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server delivers part of a body without a trustworthy resume checkpoint, for example a non-success response whose headers were already sent or a partial-content response with an unusable content range, then closes the connection and answers the resumed range request with more bytes. As a result the response body can be longer than the Content-Length that the application observes. An application that relays such a res", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-r53p-7pc4-xj5r", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-18540"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-19534", "noindex": false, "published": "2026-09-04T17:10:05.081Z", "modified": "2026-09-04T18:18:31.205Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.00394, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-19534", "title": "undici vulnerable to Denial of Service via unrequested WebSocket subprotocol", "description": "undici's WebSocket client crashes the whole Node.js process during the opening handshake when a server responds with a subprotocol that the client never requested. A default WebSocket connection sends no subprotocol, but if the server's 101 response includes a Sec-WebSocket-Protocol header, undici dereferences a null value while checking it against the requested list and throws an uncaught TypeError. Because that code runs inside a microtask with no surrounding error handling, the exception propagates and terminates the process under Node's default behavior, instead of gracefully failing the connection as required by the WebSocket protocol. A", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-rfgv-xxqx-mfg5", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-19534"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-84890", "noindex": false, "published": "2026-09-04T17:04:28.261Z", "modified": "2026-09-04T18:33:28.246Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.00412, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-84890", "title": "undici vulnerable to Denial of Service via unbounded decompression of compressed responses", "description": "undici's decompress interceptor decompresses response bodies according to the untrusted Content-Encoding header. While the number of content-encoding layers is capped, the total decompressed output size is unbounded and there is no configuration option to limit it. A malicious or faulty upstream can therefore return a small compressed payload, a compression bomb, that expands to hundreds of megabytes or more in client memory, an asymmetric resource consumption that can exhaust memory and crash the process. This affects undici versions from 7.15.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-3xpg-4rpp-hhhm", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-84890"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-84933", "noindex": false, "published": "2026-09-04T16:59:08.807Z", "modified": "2026-09-04T18:34:14.407Z", "cvss": 6.5, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N", "severity": "medium", "epss": 0.00303, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-84933", "title": "undici vulnerable to cross-user cookie disclosure via Set-Cookie caching in shared caches", "description": "undici's cache interceptor does not handle the Set-Cookie response header anywhere in its cache path, so it neither refuses to store nor strips that header. In shared cache mode, which is the default, an otherwise cacheable response that carries a Set-Cookie header, for example one marked with a public and max-age directive, is stored and then re-served to a later caller that matches the same cache key. As a result one caller's cookie is disclosed to a different caller, and an untrusted server can inject cookies into cached responses served to all subsequent callers. This violates the requirement that a shared cache must not store cookies. Th", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-2jfj-6hjv-fm6j", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-84933"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-84947", "noindex": false, "published": "2026-09-04T16:53:11.716Z", "modified": "2026-09-04T18:35:25.824Z", "cvss": 3.7, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N", "severity": "low", "epss": 0.00196, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-84947", "title": "undici vulnerable to response truncation via oversized chunked responses in the dump interceptor", "description": "undici's dump interceptor reads and discards a response body up to a configurable maximum size. When a response declares a Content-Length that exceeds the maximum, the interceptor aborts cleanly, but when a response has no Content-Length and is chunked, the interceptor instead signals completion early once the accumulated size reaches the maximum, without pausing or aborting the request. Because the underlying parser keeps delivering body bytes, a second completion signal fires and trips an internal assertion, which aborts the request and tears down the connection. The application is left observing a misleading successful status with an empty", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-2gqq-gqf2-x968", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-84947"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-84961", "noindex": false, "published": "2026-09-04T16:47:55.724Z", "modified": "2026-09-04T18:37:44.620Z", "cvss": 7.4, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "severity": "high", "epss": 0.00146, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-84961", "title": "undici vulnerable to TLS certificate validation bypass via dropped connect options in BalancedPool", "description": "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 affecte", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-w293-vg96-wgc3", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-84961"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-85008", "noindex": false, "published": "2026-09-04T16:42:40.780Z", "modified": "2026-09-04T19:28:57.123Z", "cvss": 3.7, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N", "severity": "low", "epss": 0.00118, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-85008", "title": "undici vulnerable to caching and replay of unsafe HTTP method responses", "description": "undici's cache interceptor documents that only safe HTTP methods are cached, but its logic to skip caching is built by subtracting the configured methods from the set of safe methods, so an unsafe method such as POST, PUT, or DELETE is never placed in the skip list and instead falls through to the full cache-read path. The response-storage gate also lacked a method check, so a response to an unsafe request that is heuristically cacheable or carries an explicit Cache-Control directive is stored and later replayed from cache. Because response headers from a remote origin are untrusted, an origin can answer once with a cacheable status and then ", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-8436-99hf-9mmv", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-85008"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-85152", "noindex": false, "published": "2026-09-04T16:36:28.085Z", "modified": "2026-09-04T19:29:29.802Z", "cvss": 7.4, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "severity": "high", "epss": 0.00164, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-85152", "title": "undici vulnerable to cross-origin cache poisoning via missing origin isolation in interceptors", "description": "undici 8.10.0 omits the destination origin from the cache and request-deduplication keys when the cache or deduplicate interceptor is composed directly onto a Client or Pool. Because the internal cache key falls back to an empty origin string, a cacheable or in-flight response from one upstream origin is returned for a request to a different, trusted origin whenever the method, path, and relevant headers match, which permits cross-origin information disclosure and persistent cache poisoning. The reporter demonstrated a full authentication bypass in which a JWT signed with an attacker-controlled key was accepted as belonging to a trusted issue", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-vp8m-p9jh-q5pm", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-85152"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-85014", "noindex": false, "published": "2026-09-04T16:30:07.996Z", "modified": "2026-09-04T19:30:14.192Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.00368, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-85014", "title": "undici vulnerable to Denial of Service via WebSocketStream unclean close", "description": "undici's experimental WebSocketStream client crashes the whole Node.js process when a remote peer closes the TCP connection without a WebSocket close handshake. On an unclean close the internal socket-close handler calls abort on the writable stream unconditionally and discards the returned promise, but per the WHATWG Streams standard aborting a locked writable returns a promise that rejects with a TypeError. Because the application holds a writer on that writable, which is the only way to write, the rejection is never observed and Node's default unhandled-rejection behavior terminates the process. An untrusted server can therefore crash a cl", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-rx4f-c7p8-82vq", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-85014"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-85024", "noindex": false, "published": "2026-09-04T16:20:34.709Z", "modified": "2026-09-04T19:30:54.293Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.00412, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}], "path": "vulns/cve-2026-85024", "title": "undici vulnerable to Denial of Service via unhandled error in WebSocket permessage-deflate decompression", "description": "undici bundles a WebSocket client whose permessage-deflate size-limit cleanup removes all listeners from the internal zlib inflate stream, including its error listener, while that stream can still emit. When a remote peer sends a compressed payload that crosses the built-in 128 MiB decompressed-payload limit and then contains a malformed DEFLATE byte, the inflate stream emits a data error with no listener attached, which Node.js treats as a fatal unhandled error and terminates the entire process. Exploitation is remote and unauthenticated, requires no application mistake, and is asymmetric, since roughly 130 KB on the wire expands past the li", "references": ["https://github.com/nodejs/undici/security/advisories/GHSA-3wwx-pv8p-q78v", "https://cna.openjsf.org/security-advisories.html", "https://nvd.nist.gov/vuln/detail/CVE-2026-85024"], "fixes": ["8.10.2+dfsg+~cs3.2.2-1"], "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}]}], "total": 53, "unknown_count": 0, "release_unconfirmed": false, "page": 1, "pages": 3, "filtered": false, "noindex": false, "filters": {}, "page_size": 20, "products": [{"name": "node-undici", "path": "vulns/debian-14/node-undici", "ecosystem": "Debian:14"}], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "web", "path": "vulns/stack/web", "slug": "web"}, {"name": "php", "path": "vulns/stack/php", "slug": "php"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}, {"name": "node", "path": "vulns/stack/node", "slug": "node"}, {"name": "database", "path": "vulns/stack/database", "slug": "database"}, {"name": "containers", "path": "vulns/stack/containers", "slug": "containers"}, {"name": "network", "path": "vulns/stack/network", "slug": "network"}, {"name": "applications", "path": "vulns/stack/applications", "slug": "applications"}], "versions": [], "stats": {"recent": 9, "kev": 0}, "lastmod": "2026-10-16T20:06:00.782Z", "early_advisories": [], "license": "Puedes utilizar libremente la selección de PatchFirst y nuestras aportaciones (prioridades, alertas tempranas, textos, resúmenes y agregados) para tus propios fines, incluido el uso interno de tu empresa. La reventa, la distribución comercial y la creación masiva de réplicas de esta selección o de estas aportaciones requieren un acuerdo escrito con el operador. Siempre que uses o publiques la selección o nuestras aportaciones, cita a PatchFirst (https://patchfirst.dev/vulns/) con este enlace a la página del flujo de tu región. Los registros originales de fuentes abiertas siguen sujetos a sus respectivas licencias y condiciones. Estas condiciones no limitan tus derechos sobre los datos originales, que puedes obtener directamente de esas fuentes.", "terms_url": "https://patchfirst.dev/es/vulns/#feed-terms", "attribution": {"name": "PatchFirst", "url": "https://patchfirst.dev/vulns/"}, "source_changes": "PatchFirst selecciona, normaliza y combina los registros; se pueden añadir resúmenes y traducciones. Las noticias incluyen un enlace a la fuente original en cada entrada.", "sources": [{"id": "cve", "name": "CVE List / CVE.org", "url": "https://www.cve.org/", "license": "CVE Terms of Use", "terms_url": "https://www.cve.org/Legal/TermsOfUse", "notice": "Copyright © 1999–2021, The MITRE Corporation. LICENSE Submissions : For all materials you submit to the Common Vulnerabilities and Exposures (CVE™), you hereby grant to The MITRE Corporation (MITRE) and all CVE Numbering Authorities (CNAs) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute such materials and derivative works. Unless required by applicable law or agreed to in writing, you provide such materials on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. CVE Usage : MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. DISCLAIMERS ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN \"AS IS\" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."}, {"id": "osv", "name": "OSV", "url": "https://osv.dev/", "terms_url": "https://google.github.io/osv.dev/data/", "terms": "Las licencias de las bases originales varían; consulta el catálogo de fuentes."}, {"id": "kev", "name": "CISA KEV", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog", "license": "CC0-1.0", "terms_url": "https://github.com/cisagov/kev-data/blob/develop/LICENSE"}, {"id": "epss", "name": "FIRST EPSS", "url": "https://www.first.org/epss/", "terms_url": "https://www.first.org/epss/faq", "terms": "Puntuaciones públicas gratuitas; se solicita atribución (FIRST EPSS, puntuaciones generadas por Empirical Security)."}, {"id": "github-advisory", "name": "GitHub Advisory Database", "url": "https://github.com/advisories", "license": "CC-BY-4.0", "terms_url": "https://github.com/github/advisory-database/blob/main/LICENSE.md"}, {"id": "exploitdb", "name": "Exploit-DB", "url": "https://www.exploit-db.com/", "license": "GPL-2.0", "terms_url": "https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md"}, {"id": "metasploit", "name": "Metasploit", "url": "https://github.com/rapid7/metasploit-framework", "license": "BSD-3-Clause", "terms_url": "https://github.com/rapid7/metasploit-framework/blob/master/LICENSE", "notice": "Copyright (c) 2006-2026, Rapid7, Inc.\nLicense: BSD-3-clause\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n .\n * Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n .\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n .\n * Neither the name of Rapid7, Inc. nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."}, {"id": "nuclei", "name": "Nuclei Templates", "url": "https://github.com/projectdiscovery/nuclei-templates", "license": "MIT", "terms_url": "https://github.com/projectdiscovery/nuclei-templates/blob/main/LICENSE.md", "notice": "MIT License\n\nCopyright (c) 2025 ProjectDiscovery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}, {"id": "linux-kernel", "name": "Linux kernel releases", "url": "https://www.kernel.org/", "license": "CC-BY-SA-4.0", "terms_url": "https://www.kernel.org/legal.html", "notice": "Copyright (C) 1997-2014 by The Linux Kernel Organization, Inc."}]}