deps: update undici to 8.4.0 · nodejs/node@2e6d039 · GitHub
Skip to content

Commit 2e6d039

Browse files
nodejs-github-botaduh95
authored andcommitted
deps: update undici to 8.4.0
PR-URL: #63779 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
1 parent 5a17d5b commit 2e6d039

31 files changed

Lines changed: 625 additions & 121 deletions

deps/undici/src/README.md

Lines changed: 59 additions & 18 deletions

deps/undici/src/SECURITY.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ meet the following criteria:
8181
**Undici trusts**:
8282

8383
* The application code that uses its APIs, including all configuration,
84-
options, and callbacks provided by the application.
84+
options, callbacks, and decisions about which body-consuming APIs to call.
8585
* The operating system and its network stack.
8686
* The Node.js runtime undici is running on.
8787
* Dependencies installed by the application.
@@ -142,6 +142,17 @@ lead to a loss of confidentiality, integrity, or availability.
142142
resources, that is not considered a vulnerability. Applications are
143143
responsible for setting appropriate limits on response sizes.
144144

145+
#### Calling `body.formData()` on untrusted responses
146+
147+
* `body.formData()` buffers and parses the entire response body. Multipart
148+
parsing has inherent security risks, especially when the body is supplied by
149+
an untrusted or user-controlled server. Applications must only call
150+
`body.formData()` on responses from trusted servers. For untrusted responses,
151+
applications should use a dedicated streaming multipart parser and enforce
152+
application-specific limits. Resource exhaustion or parser exposure caused by
153+
calling `body.formData()` on untrusted responses is considered an application
154+
responsibility, not a vulnerability in undici.
155+
145156
#### Application Misconfiguration
146157

147158
* Issues arising from incorrect or insecure use of undici APIs (such as

deps/undici/src/docs/docs/api/Agent.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ Extends: [`PoolOptions`](/docs/docs/api/Pool.md#parameter-pooloptions)
2121
* **factory** `(origin: URL, opts: Object) => Dispatcher` - Default: `(origin, opts) => new Pool(origin, opts)`
2222
* **maxOrigins** `number` (optional) - Default: `Infinity` - Limits the total number of origins that can receive requests at a time, throwing an `MaxOriginsReachedError` error when attempting to dispatch when the max is reached. If `Infinity`, no limit is enforced.
2323

24+
> [!NOTE]
25+
> Like `Pool`, `Agent` inherits all [`ClientOptions`](/docs/docs/api/Client.md#parameter-clientoptions). `allowH2` defaults to `true` and `maxConcurrentStreams` to `100`. The per-origin `Pool` it creates uses the default unlimited `connections`, so concurrent requests to the same origin land on separate `Client` instances and separate TCP/TLS sockets — HTTP/2 multiplexing on a shared session does not apply unless `connections` is set to a small value. See [`PoolOptions`](/docs/docs/api/Pool.md#parameter-pooloptions).
26+
2427
## Instance Properties
2528

2629
### `Agent.closed`

deps/undici/src/docs/docs/api/Client.md

Lines changed: 43 additions & 5 deletions

0 commit comments

Comments
 (0)