Skip to content

chore(deps): bump the npm_and_yarn group across 1 directory with 5 updates - #126

Merged
stephanebouget merged 1 commit into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-b63c9cc33b
Nov 13, 2026
Merged

stephanebouget merged 1 commit into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-b63c9cc33b

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 13, 2026

Copy link
Copy Markdown
Contributor

Bumps the npm_and_yarn group with 5 updates in the / directory:

Package From To
@hono/node-server 2.1.5 2.1.8
qs 6.15.2 6.16.2
follow-redirects 1.16.1 1.16.3
hono 4.13.13 4.13.18
undici 6.29.0 6.29.1

Updates @hono/node-server from 2.1.5 to 2.1.8

Release notes

Sourced from @​hono/node-server's releases.

v2.1.8

What's Changed

Full Changelog: honojs/node-server@v2.1.7...v2.1.8

v2.1.7

Security fixes

This release includes a fix for the following security issue:

serveStatic with allowPercentInPath still allows the double-decode middleware bypass

Affects: serveStatic with allowPercentInPath: true. The fix for GHSA-rmxm-3fg6-px4f rejects a path containing %, but the allowPercentInPath option skipped that check entirely. A malformed percent sequence such as /static/%%36%31dmin/secret.txt was routed as /static/%61dmin/secret.txt, so middleware on /static/admin/* did not run, and serveStatic then decoded %61 to a and served static/admin/secret.txt. The default configuration was already fixed in 2.1.3. GHSA-fj57-4f93-cfw6

serveStatic now accepts the second decode only when its result equals the routed path with %25 replaced by %. File names containing a literal %, requested as %25, are served as before.


The same fix ships in hono v4.13.18 (GHSA-74fm-fwc7-3fwp).

Full Changelog: honojs/node-server@v2.1.6...v2.1.7

v2.1.6

Security fixes

This release includes fixes for the following security issues:

Backslash in the request path is parsed as a path separator, bypassing path-based access control at a reverse proxy

Affects: all requests. The raw request-target was passed to the WHATWG URL parser, which treats a backslash in the path as / and resolves .. segments, so /admin\secret reached the application as /admin/secret. A reverse proxy that forwards the backslash unchanged applied its path-based rules to the original path. GHSA-jpvv-r467-5p4w

A request whose path contains a raw backslash is now rejected with 400 Bad Request, for HTTP/1.1, HTTP/2 and WebSocket upgrades. A percent-encoded backslash (%5C) and a backslash in the query string are still accepted.

WebSocket upgrade request-target starting with // replaces the host in c.req.url, bypassing Origin checks

Affects: upgradeWebSocket. The URL of an upgrade request was built by resolving the request-target against the Host header, so a request-target such as //attacker.example/ws set the host of c.req.url to a client-chosen value while routing still saw /ws. An application that compared Origin with the origin of c.req.url could be bypassed by a page on another site. GHSA-7v5p-43qr-wch5

The host of upgrade requests now comes from the Host header, as for ordinary requests.

Unhandled ECONNRESET on the socket during an asynchronous WebSocket upgrade crashes the process

Affects: upgradeWebSocket. While the application handled an upgrade request, the socket had no error listener. A client that reset the connection during asynchronous middleware caused an unhandled 'error' event and terminated the process. GHSA-qv5m-9pm6-hqp3

Error and close events on the socket are now handled while the application runs, and a pending upgrade is released when the socket closes.

... (truncated)

Commits
  • 1fc1dfc 2.1.8
  • 3463817 fix(listener): do not send a complete response when the body fails during the...
  • f22b99c fix(utils): cancel late HTTP/2 response bodies (#419)
  • 4b885d3 fix(listener): cancel the response body when the client has already disconnec...
  • 653ec79 fix(utils): do not chain a promise per chunk while streaming a response (#417)
  • 7da431b fix(request): forward duplex to the native request (#409)
  • abe63c8 2.1.7
  • cc42986 Merge commit from fork
  • 123f782 2.1.6
  • cfaa79f Merge commit from fork
  • Additional commits viewable in compare view

Updates qs from 6.15.2 to 6.16.2

Changelog

Sourced from qs's changelog.

6.16.2

  • [Fix] stringify: encode keys when allowEmptyArrays is set (#561)
  • [meta] use double quotes for better OS support
  • [Dev Deps] update evalmd, npmignore
  • [Tests] stringify: pin allowEmptyArrays output for keys that need no encoding

6.16.1

  • [Fix] parse: do not mutate an object input
  • [Fix] stringify: stop re-encoding structural separator dots when encodeDotInKeys is set (#564)
  • [Fix] stringify: arrayFormat: 'comma': pass the full encoder arguments with encodeValuesOnly
  • [Fix] utils: encode + as %2B in iso-8859-1 mode so values round-trip (#565)
  • [Fix] parse: only convert top-level dots to brackets when allowDots is on (#621)
  • [Fix] stringify: ignore inherited array format names (#622)
  • [Fix] stringify: arrayFormat: 'comma': do not throw on elements with no callable toString
  • [Fix] utils: merge: seed an overflow container's index from its own keys, not just the source
  • [Fix] utils: merge: keep a strictMerge conflict container's index and arrayLimit correct
  • [Fix] parse: only treat [] as array syntax when it ends the key
  • [Perf] decode: skip decoders when there is no percent sign (#583)
  • [Robustness] utils: merge: apply arrayLimit to the two-element array built for colliding values
  • [Robustness] parse: bound the nesting added by repeated strictMerge conflicts (credit @​Yeaseen)
  • [Docs] document that qs and flat parsers disagree about parameter names
  • [Docs] clarify that throwOnLimitExceeded limits each array, not the total number of values
  • [Docs] clarify 6.14.1/6.15.2 parse bracket behavior change (#567, #568)
  • [meta] fix changelog indents
  • [actions] set least-privilege cache-mode
  • [Tests] utils: decode: add missing cases
  • [Tests] parse: characterize the ]= split when an = precedes any bracket group (#620)
  • [Tests] parse: allowDots: cover stray close brackets before a dot
  • [Dev Deps] update @ljharb/eslint-config, eslint, tape

6.16.0

  • [New] stringify: add a depth option to bound recursion depth (default Infinity)
  • [Fix] stringify: serialize Date values when a filter is provided
  • [Fix] parse: enforce arrayLimit on comma groups under []= when throwOnLimitExceeded is set
  • [Fix] parse: flatten a collection appended to an overflowed array (#571)
  • [Fix] utils: isBuffer: do not invoke a non-callable constructor.isBuffer
  • [Fix] stringify: do not let allowEmptyArrays skip cycle detection (or drop own keys) on an empty array with own properties
  • [Fix] stringify: encode dots in a top-level key with a primitive value when encodeDotInKeys is set (#562)
  • [Docs] threat model: clarify stringify deep-nesting DoS is caller-bounded
  • [Docs] clarify arrayLimit is a representation threshold, not an element-count cap
  • [Tests] parse: remove a test that pinned []= comma groups escaping arrayLimit
  • [Tests] stringify: pin current encodeDotInKeys separator-dot behavior
  • [Dev Deps] update @ljharb/eslint-config, eslint
  • [Dev Deps] update eslint, evalmd

6.15.4

  • [Fix] stringify: encode keys when allowEmptyArrays is set (#561)
  • [meta] use double quotes for better OS support
  • [Dev Deps] update @ljharb/eslint-config, evalmd, npmignore, tape
  • [Tests] stringify: pin allowEmptyArrays output for keys that need no encoding

... (truncated)

Commits
  • 136912a v6.16.2
  • 6ed1c73 [Dev Deps] update evalmd, npmignore
  • a09bc29 [meta] use double quotes for better OS support
  • 5d3b1b9 [Fix] stringify: encode keys when allowEmptyArrays is set
  • f13ec6c [Tests] stringify: pin allowEmptyArrays output for keys that need no enco...
  • 2471b66 v6.16.1
  • 51f736e [Docs] document that qs and flat parsers disagree about parameter names
  • 40239f7 [Dev Deps] update tape
  • d219359 [Fix] parse: do not mutate an object input
  • 98157dc [Fix] stringify: stop re-encoding structural separator dots when `encodeDot...
  • Additional commits viewable in compare view

Updates follow-redirects from 1.16.1 to 1.16.3

Commits

Updates hono from 4.13.13 to 4.13.18

Release notes

Sourced from hono's releases.

v4.13.18

Security fixes

This release includes fixes for the following security issues:

validator() skips validation for requests whose Content-Type parameters are formatted differently

Affects: validator('json') and validator('form') in hono/validator. A Content-Type with whitespace before ;, a trailing ;, or an unusual parameter name was not recognized, so the validator saw an empty object while the handler could read all fields. This completes the fix for GHSA-4h7h-rv7c-7m2v. The validator now decides by the media type alone, as c.req.parseBody() does. GHSA-92p4-j3wq-jmqx

bodyLimit() keeps every transfer chunk of a request body in memory

Affects: bodyLimit() in hono/body-limit. A body sent in very small transfer chunks was retained as one object per chunk, so a request within the configured limit could exhaust memory. The body is now buffered in one array bounded by maxSize. GHSA-39q9-qp46-w8xg

mount() and app.mount() forward a wrong path when a custom getPath adds a prefix

Affects: mount() in hono/mount and app.mount() on 4.13.16 and 4.13.17. With a getPath that prepends a prefix such as the host name, one segment too many was removed from the forwarded path, so middleware scoped inside the mount prefix could be skipped. The prefix is removed from the routed path again. Paths that would change meaning when forwarded now get 400, and an optional regular expression parameter in a mount path throws. GHSA-h25j-2p75-qj33

serveStatic() serves a path that was decoded twice when allowPercentInPath is enabled

Affects: serveStatic() in hono/serve-static and the runtime adapters, only with allowPercentInPath: true. A malformed percent escape in the request path was decoded a second time, so a path that middleware registered on the encoded form did not see could still reach a static file. The file path must now be the same as the routed path, and otherwise the response is 404. GHSA-74fm-fwc7-3fwp


Users who rely on validator(), bodyLimit(), mount() with a custom getPath, or serveStatic() with allowPercentInPath are strongly encouraged to upgrade to this version.

Full Changelog: honojs/hono@v4.13.17...v4.13.18

v4.13.17

What's Changed

  • fix(cookie): match the __Secure- and __Host- prefixes case-insensitively in honojs/hono#5608
  • fix(utils/url): do not match a query key across separators in honojs/hono#5607
  • fix(etag,pretty-json): cancel the discarded response body in honojs/hono#5606
  • fix(client): detect the JSON media type with whitespace before a parameter in honojs/hono#5609
  • fix(timing): honor a precision of 0 in setMetric in honojs/hono#5363
  • fix(utils/mime,ssg): match media types case-insensitively in honojs/hono#5449
  • fix(timing): escape double quotes and backslashes in Server-Timing descriptions in honojs/hono#5478
  • fix(etag): preserve commas within quoted entity tags in honojs/hono#5353
  • fix(accepts): preserve exact media type quality over subtype wildcards in honojs/hono#5427
  • fix(cookie): match the __Secure- and __Host- prefixes case-insensitively in CookieConstraint in honojs/hono#5611
  • fix(jsx): add the CSP nonce to all scripts generated by ErrorBoundary in honojs/hono#5430
  • fix(ssg): do not reuse created directories across toSSG runs in honojs/hono#5381
  • fix(aws-lambda): sanitize non-ASCII header values in API Gateway v2 events in honojs/hono#5483
  • fix(jsx): escape element and object attribute values in honojs/hono#5512
  • fix(jsx): do not render ref objects as attributes in honojs/hono#5615
  • fix(factory): keep independent return types for nine handlers in honojs/hono#5618

Full Changelog: honojs/hono@v4.13.16...v4.13.17

v4.13.16

... (truncated)

Commits

Updates undici from 6.29.0 to 6.29.1

Release notes

Sourced from undici's releases.

v6.29.1

Security fixes

High severity

Denial of service via TLS 1.2 certificate-changing renegotiation

CVE-2026-87018 · GHSA-qrxm-fqhp-jwvm

A malicious or compromised HTTPS server could crash the Node.js process by initiating TLS 1.2 renegotiation and presenting a different, CA-trusted certificate whose hostname did not match the requested host. The resulting socket error reached an assertion in undici's HTTP/1.1 and HTTP/2 connection handling. This release handles post-connect certificate errors without terminating the process.

TLS certificate validation bypass through dropped Agent options

CVE-2026-109383 · GHSA-2m5v-pch6-74hx

Agent used a JSON-based clone for constructor options, which silently removed function-valued TLS options such as checkServerIdentity. Applications relying on custom certificate or public-key verification could therefore accept a certificate that the callback was intended to reject. This release preserves TLS options when creating per-origin dispatchers.

Denial of service through excessive Content-Encoding values

CVE-2026-109869 · GHSA-xjj6-f33q-929c

A malicious HTTP server could crash the Node.js process by returning more than five content codings and closing the connection before sending the body. Although fetch() rejected the response, an error from an orphaned internal stream could remain unhandled. This release validates the content-encoding chain before creating the body stream and aborts oversized chains safely.

Medium severity

Denial of service through unbounded EventSource parser state

CVE-2026-109924 · GHSA-4qv8-2p9j-2685

A malicious Server-Sent Events endpoint could exhaust process memory by sending many tiny data: fields without completing an event, or by splitting an unfinished line across many chunks. This release bounds retained EventSource parser state, including field counts, buffered chunks, unfinished-line length, and retained field data.

Denial of service through unbounded automatic WebSocket PONG buffering

CVE-2026-109932 · GHSA-9fm3-97px-rjf6

A malicious WebSocket server could exhaust process memory by flooding the client with PING frames while not reading the automatic PONG responses. undici previously ignored socket backpressure and allowed the outbound queue to grow without bound. This release pauses frame parsing when PONG writes encounter backpressure and resumes after the socket drains.

What's Changed

Full Changelog: nodejs/undici@v6.29.0...v6.29.1

Commits
  • 8c57f6c [Release] v6.29.1 (#6023)
  • 39f93e1 fix(websocket): bound automatic PONG writes under backpressure
  • c43b23f fix(eventsource): bound retained SSE parser state
  • 1325a87 fix(fetch): abort excessive content encoding responses
  • 8c59f6b fix: preserve Agent connection options
  • b40fbfc fix: handle post-connect TLS certificate errors
  • 407630a [v6.x] fix(fetch): fix aborting Streams (#3754) (#6000)
  • See full diff in compare view

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 commands and options

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 <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

…dates

Bumps the npm_and_yarn group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@hono/node-server](https://github.com/honojs/node-server) | `2.1.5` | `2.1.8` |
| [qs](https://github.com/ljharb/qs) | `6.15.2` | `6.16.2` |
| [follow-redirects](https://github.com/follow-redirects/follow-redirects) | `1.16.1` | `1.16.3` |
| [hono](https://github.com/honojs/hono) | `4.13.13` | `4.13.18` |
| [undici](https://github.com/nodejs/undici) | `6.29.0` | `6.29.1` |



Updates `@hono/node-server` from 2.1.5 to 2.1.8
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](honojs/node-server@v2.1.5...v2.1.8)

Updates `qs` from 6.15.2 to 6.16.2
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.15.2...v6.16.2)

Updates `follow-redirects` from 1.16.1 to 1.16.3
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.16.1...v1.16.3)

Updates `hono` from 4.13.13 to 4.13.18
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.13.13...v4.13.18)

Updates `undici` from 6.29.0 to 6.29.1
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.29.0...v6.29.1)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 2.1.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.16.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-version: 1.16.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: hono
  dependency-version: 4.13.18
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: undici
  dependency-version: 6.29.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Nov 13, 2026
@stephanebouget
stephanebouget merged commit f64caab into main Nov 13, 2026
2 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/npm_and_yarn-b63c9cc33b branch November 13, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant