18F / tock

We use Tock to track and report our time at 18F
https://18f.gsa.gov/2015/05/21/TockingTime/
Other
120 stars 37 forks source link

Bump ws and puppeteer #1776

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 4 months ago

Bumps ws to 8.17.1 and updates ancestor dependency puppeteer. These dependencies need to be updated together.

Updates ws from 8.13.0 to 8.17.1

Release notes

Sourced from ws's releases.

8.17.1

Bug fixes

  • Fixed a DoS vulnerability (#2231).

A request with a number of headers exceeding the[server.maxHeadersCount][] threshold could be used to crash a ws server.

const http = require('http');
const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 0 }, function () { const chars = "!#$%&'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~".split(''); const headers = {}; let count = 0;

for (let i = 0; i < chars.length; i++) { if (count === 2000) break;

for (let j = 0; j &lt; chars.length; j++) {
  const key = chars[i] + chars[j];
  headers[key] = 'x';

  if (++count === 2000) break;
}

}

headers.Connection = 'Upgrade'; headers.Upgrade = 'websocket'; headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ=='; headers['Sec-WebSocket-Version'] = '13';

const request = http.request({ headers: headers, host: '127.0.0.1', port: wss.address().port });

request.end(); });

The vulnerability was reported by Ryan LaPointe in websockets/ws#2230.

In vulnerable versions of ws, the issue can be mitigated in the following ways:

  1. Reduce the maximum allowed length of the request headers using the [--max-http-header-size=size][] and/or the [maxHeaderSize][] options so that no more headers than the server.maxHeadersCount limit can be sent.

... (truncated)

Commits
  • 3c56601 [dist] 8.17.1
  • e55e510 [security] Fix crash when the Upgrade header cannot be read (#2231)
  • 6a00029 [test] Increase code coverage
  • ddfe4a8 [perf] Reduce the amount of crypto.randomFillSync() calls
  • b73b118 [dist] 8.17.0
  • 29694a5 [test] Use the highWaterMark variable
  • 934c9d6 [ci] Test on node 22
  • 1817bac [ci] Do not test on node 21
  • 96c9b3d [major] Flip the default value of allowSynchronousEvents (#2221)
  • e5f32c7 [fix] Emit at most one event per event loop iteration (#2218)
  • Additional commits viewable in compare view


Updates puppeteer from 19.11.1 to 22.12.1

Release notes

Sourced from puppeteer's releases.

puppeteer-core: v22.12.1

22.12.1 (2024-06-26)

Bug Fixes

  • execution contexts might be created before previous is destroyed (#12666) (db642d1)
  • reset the viewport after taking a fullPage screenshot if defaultViewport is null (#12650) (0a32283)
  • roll to Chrome 126.0.6478.126 (r1300313) (#12656) (32ed82c)
  • use RAF-based polling for ARIA selectors (#12664) (56d1d3f)

puppeteer: v22.12.1

22.12.1 (2024-06-26)

Miscellaneous Chores

  • puppeteer: Synchronize puppeteer versions

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • puppeteer-core bumped from 22.12.0 to 22.12.1

puppeteer-core: v22.12.0

22.12.0 (2024-06-21)

Features

  • support AbortSignal in page.waitForRequest/Response/NetworkIdle/Frame (#12621) (54ecea7)
  • webdriver: support for PageEvent.Popup (#12612) (293926b)

Bug Fixes

puppeteer: v22.12.0

22.12.0 (2024-06-21)

Miscellaneous Chores

  • puppeteer: Synchronize puppeteer versions

... (truncated)

Commits
  • 1886390 chore: release main (#12659)
  • db642d1 fix: execution contexts might be created before previous is destroyed (#12666)
  • 56d1d3f fix: use RAF-based polling for ARIA selectors (#12664)
  • 0a32283 fix: reset the viewport after taking a fullPage screenshot if defaultViewport...
  • 5d762be docs: fix some broken links (#12660)
  • 866f720 build(deps): relax dependency versions for non-puppeteer dependencies (#12649)
  • 32ed82c fix: roll to Chrome 126.0.6478.126 (r1300313) (#12656)
  • fbd6ca5 docs: various docs improvements (#12651)
  • 9808d46 chore(deps): Bump glob from 10.4.1 to 10.4.2 in the dependencies group (#12639)
  • add2890 docs: fix various typos (#12648)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by google-wombot, a new releaser for puppeteer since your current version.


You can trigger a rebase of this PR 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/18F/tock/network/alerts).

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

codecov-commenter commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.18%. Comparing base (91a9dfd) to head (8f1b241). Report is 3 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1776 +/- ## ======================================= Coverage 94.18% 94.18% ======================================= Files 66 66 Lines 4177 4177 ======================================= Hits 3934 3934 Misses 243 243 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

nateborr commented 1 month ago

This is a different failure than in #1774. ~It looks like a library collision during the integration test step:~ I see the collision warning below in a successful PR test run as well. I'll dig in on the substance of the Puppeteer update.

jest-haste-map: Haste module naming collision: jupyterlab-plotly
  The following files share their name; please adjust your hasteImpl:
    * <rootDir>/.venv/share/jupyter/labextensions/jupyterlab-plotly/package.json
    * <rootDir>/.venv/lib/python3.10/site-packages/jupyterlab_plotly/labextension/package.json
nateborr commented 1 month ago

@dependabot recreate

dependabot[bot] commented 1 month ago

Looks like these dependencies are updatable in another way, so this is no longer needed.