dependabot[bot] opened a new pull request, #3597: URL: https://github.com/apache/tinkerpop/pull/3597
Bumps [undici](https://github.com/nodejs/undici) from 6.27.0 to 8.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nodejs/undici/releases">undici's releases</a>.</em></p> <blockquote> <h2>v8.9.0</h2> <h2>⚠️ Security fixes</h2> <h3>High severity</h3> <ul> <li><a href="https://github.com/nodejs/undici/security/advisories/GHSA-4cwx-7wf7-3272">GHSA-4cwx-7wf7-3272</a>: malformed qualified <code>private</code> Cache-Control directives could cause cross-user information disclosure in shared caches or a parse-time crash. The cache parser now treats empty qualified directives conservatively and safely handles mixed qualified and unqualified directives. Fixed by <a href="https://github.com/nodejs/undici/commit/4fe5bc5fefe5ac81a200fc8e1cf84b8bf8464451">4fe5bc5f</a> with regression coverage in <a href="https://github.com/nodejs/undici/commit/9f09b49accd391cca818409447f2fb8bc93229b3">9f09b49a</a>.</li> </ul> <h3>Medium severity</h3> <ul> <li><a href="https://github.com/nodejs/undici/security/advisories/GHSA-m8rv-5g2x-5cg5">GHSA-m8rv-5g2x-5cg5</a>: a malicious <code>type</code> property on a duck-typed blob-like HTTP/1.1 request body could inject CRLF sequences into the generated <code>content-type</code> header. Undici now coerces and validates the value before adding it to the request. Fixed by <a href="https://github.com/nodejs/undici/commit/7d3cf924c262c486bc77f951348f4e5c847b7b42">7d3cf924</a>.</li> <li><a href="https://github.com/nodejs/undici/security/advisories/GHSA-jr45-8vmc-qm54">GHSA-jr45-8vmc-qm54</a>: optional whitespace around <code>=</code> in qualified <code>no-cache</code> and <code>private</code> directives could bypass shared-cache restrictions and disclose authenticated data across users. Cache-Control parsing now normalizes these forms and applies conservative cache decisions. Fixed by <a href="https://github.com/nodejs/undici/commit/c601fff1c56eca84438c3ed4ecb39404252be622">c601fff1</a>.</li> <li><a href="https://github.com/nodejs/undici/security/advisories/GHSA-8xcm-r25x-g524">GHSA-8xcm-r25x-g524</a>: the retry interceptor could expose a stale <code>Content-Length</code> after resuming a partial response, potentially causing downstream response desynchronization, hangs, or corruption. Undici now rejects partial responses whose <code>Content-Length</code> is inconsistent with <code>Content-Range</code>. Fixed by <a href="https://github.com/nodejs/undici/commit/e11a68ed4ff345c79402476f7a00d473443e318d">e11a68ed</a>, with corrected fixtures in <a href="https://github.com/nodejs/undici/commit/2b3f749336d356bbbc50192f87f6cf7bc714721a">2b3f7493</a>.</li> <li><a href="https://github.com/nodejs/undici/security/advisories/GHSA-v3r7-h72x-cjcm">GHSA-v3r7-h72x-cjcm</a>: unsanitized <code>domain</code> and <code>unparsed</code> values passed to <code>setCookie()</code> could inject cookie attributes. Undici now validates cookie domains, paths, and unparsed attributes more strictly. Fixed by <a href="https://github.com/nodejs/undici/commit/10d93fc332f2c8c161982dec3833201de29891b5">10d93fc3</a>.</li> </ul> <h2>Additional hardening</h2> <p>Undici now validates non-string header values after coercion, including array elements, preventing crafted <code>toString()</code> or <code>Symbol.toPrimitive</code> implementations from introducing CRLF sequences. This defense-in-depth change was made in <a href="https://github.com/nodejs/undici/commit/354a151f615f03d72f6aff02f3ad18a7e99a72b5">354a151f</a>.</p> <h2>What's Changed</h2> <ul> <li>fix(decompress): preserve response trailers by <a href="https://github.com/Ram-blip"><code>@Ram-blip</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5572">nodejs/undici#5572</a></li> <li>build(deps-dev): bump ws from 8.21.0 to 8.21.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/nodejs/undici/pull/5576">nodejs/undici#5576</a></li> <li>fix: validate coerced header values for CRLF by <a href="https://github.com/mcollina"><code>@mcollina</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5579">nodejs/undici#5579</a></li> <li>fix: handle frozen globalThis in setGlobalDispatcher by <a href="https://github.com/mhayk"><code>@mhayk</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5574">nodejs/undici#5574</a></li> <li>Ignore auto-generated .npmrc on Windows by <a href="https://github.com/tsctx"><code>@tsctx</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5583">nodejs/undici#5583</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/mhayk"><code>@mhayk</code></a> made their first contribution in <a href="https://redirect.github.com/nodejs/undici/pull/5574">nodejs/undici#5574</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nodejs/undici/compare/v8.8.0...v8.9.0">https://github.com/nodejs/undici/compare/v8.8.0...v8.9.0</a></p> <h2>v8.8.0</h2> <h2>What's Changed</h2> <ul> <li>fetch: use ReadableStreamTee for cloning streams by <a href="https://github.com/KhafraDev"><code>@KhafraDev</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5517">nodejs/undici#5517</a></li> <li>fix(benchmarks): adjust got after v15 upgrade by <a href="https://github.com/slagiewka"><code>@slagiewka</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5526">nodejs/undici#5526</a></li> <li>feat(mock): support asynchronous reply options callbacks by <a href="https://github.com/Develop-KIM"><code>@Develop-KIM</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5534">nodejs/undici#5534</a></li> <li>docs: clarify proxy threat model by <a href="https://github.com/mcollina"><code>@mcollina</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5530">nodejs/undici#5530</a></li> <li>docs: clarify MockAgent pool usage by <a href="https://github.com/vibhor-aggr"><code>@vibhor-aggr</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5542">nodejs/undici#5542</a></li> <li>docs: clarify parser timeout precision by <a href="https://github.com/vibhor-aggr"><code>@vibhor-aggr</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5543">nodejs/undici#5543</a></li> <li>fix: handle flat alternating header arrays in cache normalizeHeaders by <a href="https://github.com/mcollina"><code>@mcollina</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5536">nodejs/undici#5536</a></li> <li>chore(benchmarks): require(esm) on ESM-only packages by <a href="https://github.com/slagiewka"><code>@slagiewka</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5527">nodejs/undici#5527</a></li> <li>fix: run idle socket validation off setImmediate instead of setTimeout by <a href="https://github.com/carlotestor"><code>@carlotestor</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5499">nodejs/undici#5499</a></li> <li>docs: add custom interceptor example by <a href="https://github.com/vibhor-aggr"><code>@vibhor-aggr</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5548">nodejs/undici#5548</a></li> <li>fix(h1): ignore type of service errors by <a href="https://github.com/mcollina"><code>@mcollina</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5547">nodejs/undici#5547</a></li> <li>fix(fetch): convert null init in Response.json by <a href="https://github.com/Ram-blip"><code>@Ram-blip</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5540">nodejs/undici#5540</a></li> <li>fix(redirect): remove body headers after POST-to-GET by <a href="https://github.com/Ram-blip"><code>@Ram-blip</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5551">nodejs/undici#5551</a></li> <li>build(deps-dev): bump fast-check from 4.8.0 to 4.9.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/nodejs/undici/pull/5556">nodejs/undici#5556</a></li> <li>fix(h2): allow stream-bodied requests to multiplex on a busy session by <a href="https://github.com/GiHoon1123"><code>@GiHoon1123</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5538">nodejs/undici#5538</a></li> <li>fix(h2): destroy aborted stream synchronously instead of via setImmediate by <a href="https://github.com/staylor"><code>@staylor</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5559">nodejs/undici#5559</a></li> <li>fix(decompress): skip HEAD responses by <a href="https://github.com/Ram-blip"><code>@Ram-blip</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5564">nodejs/undici#5564</a></li> <li>ci: build undici with node.js v26 by <a href="https://github.com/shivarm"><code>@shivarm</code></a> in <a href="https://redirect.github.com/nodejs/undici/pull/5237">nodejs/undici#5237</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nodejs/undici/commit/21a8e1ed1843e74c3004a2926c12bb0ceaca6b71"><code>21a8e1e</code></a> Bumped v8.9.0 (<a href="https://redirect.github.com/nodejs/undici/issues/5589">#5589</a>)</li> <li><a href="https://github.com/nodejs/undici/commit/7d3cf924c262c486bc77f951348f4e5c847b7b42"><code>7d3cf92</code></a> fix: validate blob body content type</li> <li><a href="https://github.com/nodejs/undici/commit/c601fff1c56eca84438c3ed4ecb39404252be622"><code>c601fff</code></a> fix(cache): harden cache directive parsing</li> <li><a href="https://github.com/nodejs/undici/commit/2b3f749336d356bbbc50192f87f6cf7bc714721a"><code>2b3f749</code></a> test(retry): correct broken content-range fixtures in retry-handler.js</li> <li><a href="https://github.com/nodejs/undici/commit/e11a68ed4ff345c79402476f7a00d473443e318d"><code>e11a68e</code></a> fix(retry): reject partial content length mismatch</li> <li><a href="https://github.com/nodejs/undici/commit/9f09b49accd391cca818409447f2fb8bc93229b3"><code>9f09b49</code></a> test: cover crash on mixed unqualified and qualified private cache directives</li> <li><a href="https://github.com/nodejs/undici/commit/4fe5bc5fefe5ac81a200fc8e1cf84b8bf8464451"><code>4fe5bc5</code></a> fix: handle empty qualified private cache directive</li> <li><a href="https://github.com/nodejs/undici/commit/10d93fc332f2c8c161982dec3833201de29891b5"><code>10d93fc</code></a> fix: harden cookie domain, path, and unparsed attribute validation</li> <li><a href="https://github.com/nodejs/undici/commit/a17e30134238fb208e9c02064711bdfe117156a8"><code>a17e301</code></a> Ignore auto-generated .npmrc on Windows (<a href="https://redirect.github.com/nodejs/undici/issues/5583">#5583</a>)</li> <li><a href="https://github.com/nodejs/undici/commit/a0922b0b6b5db878881017abb6fca3bbcdea555a"><code>a0922b0</code></a> fix: handle frozen globalThis in setGlobalDispatcher (<a href="https://redirect.github.com/nodejs/undici/issues/5574">#5574</a>)</li> <li>Additional commits viewable in <a href="https://github.com/nodejs/undici/compare/v6.27.0...v8.9.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
