Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snyk] Upgrade: ioredis, serve-handler, ws #481

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

WontonSam
Copy link
Owner

snyk-top-banner

Snyk has created this PR to upgrade multiple dependencies.

👯‍♂ The following dependencies are linked and will therefore be updated together.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

⚠️ Warning: This PR contains major version upgrade(s), and may be a breaking change.

Name Versions Released on

ioredis
from 4.16.3 to 5.4.1 | 66 versions ahead of your current version
⚠️ This is a major version upgrade, and may be a breaking change | 5 months ago
on 2024-04-17
serve-handler
from 6.1.2 to 6.1.5 | 3 versions ahead of your current version | 2 years ago
on 2022-11-01
ws
from 7.2.3 to 8.18.0 | 51 versions ahead of your current version
⚠️ This is a major version upgrade, and may be a breaking change | 2 months ago
on 2024-07-03

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
high severity Denial of Service (DoS)
SNYK-JS-WS-7266574
128 Proof of Concept
medium severity Prototype Pollution
SNYK-JS-IOREDIS-1567196
128 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-MINIMATCH-3050818
128 No Known Exploit
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-WS-1296835
128 Proof of Concept
low severity Regular Expression Denial of Service (ReDoS)
npm:debug:20170905
128 Proof of Concept
Release notes
Package name: ioredis
  • 5.4.1 - 2024-04-17

    5.4.1 (2024-04-17)

    Bug Fixes

  • 5.4.0 - 2024-04-16

    5.4.0 (2024-04-16)

    Bug Fixes

    • when refreshSlotsCache is called concurrently, call the callback only when the refresh process is done (#1881) (804ee07)

    Features

  • 5.3.2 - 2023-04-15

    5.3.2 (2023-04-15)

    Bug Fixes

  • 5.3.1 - 2023-02-12

    5.3.1 (2023-02-12)

    Bug Fixes

    • Fix commands not resend on reconnect in edge cases (#1720) (fe52ff1), closes #1718
    • Fix db parameter not working with auto pipelining (#1721) (d9b1bf1)
  • 5.3.0 - 2023-01-25

    5.3.0 (2023-01-25)

    Bug Fixes

    Features

  • 5.2.6 - 2023-01-25

    5.2.6 (2023-01-25)

    Bug Fixes

    • remove extraneous TCP/IPC properties from RedisOptions TS type (#1707) (9af7b1c)
  • 5.2.5 - 2023-01-14

    5.2.5 (2023-01-14)

    Bug Fixes

    • Named export to support ESM imports in Typescript (#1695) (cdded57)

      With this change, users would be able to import Redis with import { Redis} from 'ioredis'. This makes it possible to import Redis in an ESM project. The original way (import Redis from 'ioredis') will still be supported but will be deprecated in the next major version.

  • 5.2.4 - 2022-11-02

    5.2.4 (2022-11-02)

    Bug Fixes

    • passing in family parameter in URL in node 18 (#1673) (6f1ab9f)
  • 5.2.3 - 2022-08-23

    5.2.3 (2022-08-23)

    Bug Fixes

  • 5.2.2 - 2022-07-23
  • 5.2.1 - 2022-07-16
  • 5.2.0 - 2022-07-11
  • 5.1.0 - 2022-06-25
  • 5.0.6 - 2022-05-31
  • 5.0.5 - 2022-05-17
  • 5.0.4 - 2022-04-09
  • 5.0.3 - 2022-03-31
  • 5.0.2 - 2022-03-30
  • 5.0.1 - 2022-03-26
  • 5.0.0 - 2022-03-26
  • 5.0.0-beta.4 - 2022-03-19
  • 5.0.0-beta.3 - 2022-03-19
  • 5.0.0-beta.2 - 2022-03-16
  • 5.0.0-beta.1 - 2022-03-14
  • 4.28.5 - 2022-02-06
  • 4.28.4 - 2022-02-02
  • 4.28.3 - 2022-01-11
  • 4.28.2 - 2021-12-01
  • 4.28.1 - 2021-11-23
  • 4.28.0 - 2021-10-13
  • 4.27.11 - 2021-10-11
  • 4.27.10 - 2021-10-04
  • 4.27.9 - 2021-08-30
  • 4.27.8 - 2021-08-18
  • 4.27.7 - 2021-08-01
  • 4.27.6 - 2021-06-13
  • 4.27.5 - 2021-06-05
  • 4.27.4 - 2021-06-04
  • 4.27.3 - 2021-05-22
  • 4.27.2 - 2021-05-04
  • 4.27.1 - 2021-04-24
  • 4.27.0 - 2021-04-24
  • 4.26.0 - 2021-04-08
  • 4.25.0 - 2021-04-02
  • 4.24.6 - 2021-03-31
  • 4.24.5 - 2021-03-27
  • 4.24.4 - 2021-03-24
  • 4.24.3 - 2021-03-21
  • 4.24.2 - 2021-03-14
  • 4.24.1 - 2021-03-14
  • 4.24.0 - 2021-03-14
  • 4.23.1 - 2021-03-14
  • 4.23.0 - 2021-02-25
  • 4.22.0 - 2021-02-06
  • 4.21.0 - 2021-02-06
  • 4.20.0 - 2021-02-05
  • 4.19.4 - 2020-12-13
  • 4.19.3 - 2020-12-13
  • 4.19.2 - 2020-10-31
  • 4.19.1 - 2020-10-28
  • 4.19.0 - 2020-10-23
  • 4.18.0 - 2020-07-25
  • 4.17.3 - 2020-05-30
  • 4.17.2 - 2020-05-30
  • 4.17.1 - 2020-05-16
  • 4.17.0 - 2020-05-16
  • 4.16.3 - 2020-04-21
from ioredis GitHub release notes
Package name: serve-handler
  • 6.1.5 - 2022-11-01

    Patches

    • Fix publish action: #189
    • Ensure npm run prepublish gets executed: #190
  • 6.1.4 - 2022-11-01

    Patches

    • Bump lodash from 4.17.15 to 4.17.19: #124
    • Bump codecov from 3.7.0 to 3.7.1: #126
    • Bump node-fetch from 2.1.2 to 2.6.1: #131
    • Update minimatch from 3.0.4 to 3.1.2: #180

    Credits

    Huge thanks to @ kachkaev for helping!

  • 6.1.3 - 2020-06-04

    Patches

    • Regenerate yarn.lock file: 55962cc
    • Update deps: 843e56e
    • Update Readme for "Vercel" rename: b0f1a62
    • Prevent open redirects when cleanUrls config is enabled: #122
  • 6.1.2 - 2019-09-26

    Patches

    • Update deps to fix GitHub Security Alerts: #100

    Credits

    Huge thanks to @ TooTallNate for helping!

from serve-handler GitHub release notes
Package name: ws
  • 8.18.0 - 2024-07-03

    Features

    • Added support for Blob (#2229).
  • 8.17.1 - 2024-06-16

    Bug fixes

    • Fixed a DoS vulnerability (#2231).

    A request with a number of headers exceeding theserver.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;

    <span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">let</span> <span class="pl-s1">j</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">j</span> <span class="pl-c1">&lt;</span> <span class="pl-s1">chars</span><span class="pl-kos">.</span><span class="pl-c1">length</span><span class="pl-kos">;</span> <span class="pl-s1">j</span><span class="pl-c1">++</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
      <span class="pl-k">const</span> <span class="pl-s1">key</span> <span class="pl-c1">=</span> <span class="pl-s1">chars</span><span class="pl-kos">[</span><span class="pl-s1">i</span><span class="pl-kos">]</span> <span class="pl-c1">+</span> <span class="pl-s1">chars</span><span class="pl-kos">[</span><span class="pl-s1">j</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
      <span class="pl-s1">headers</span><span class="pl-kos">[</span><span class="pl-s1">key</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-s">'x'</span><span class="pl-kos">;</span>
    
      <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">++</span><span class="pl-s1">count</span> <span class="pl-c1">===</span> <span class="pl-c1">2000</span><span class="pl-kos">)</span> <span class="pl-k">break</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span>
    

    }

    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 #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.
    2. Set server.maxHeadersCount to 0 so that no limit is applied.
  • 8.17.0 - 2024-04-28

    Features

    • The WebSocket constructor now accepts the createConnection option (#2219).

    Other notable changes

    • The default value of the allowSynchronousEvents option has been changed to
      true (#2221).

    This is a breaking change in a patch release. The assumption is that the option
    is not widely used.

  • 8.16.0 - 2023-12-26

    Features

    • Added the autoPong option (01ba54e).
  • 8.15.1 - 2023-12-12

    Notable changes

    • The allowMultipleEventsPerMicrotask option has been renamed to
      allowSynchronousEvents (4ed7fe5).

    This is a breaking change in a patch release that could have been avoided with
    an alias, but the renamed option was added only 3 days ago, so hopefully it
    hasn't already been widely used.

  • 8.15.0 - 2023-12-09

    Features

    • Added the allowMultipleEventsPerMicrotask option (93e3552).
  • 8.14.2 - 2023-09-19

    Bug fixes

    • Fixed an issue that allowed errors thrown by failed assertions to be
      swallowed when running tests (7f4e1a7).
  • 8.14.1 - 2023-09-08
  • 8.14.0 - 2023-09-06
  • 8.13.0 - 2023-03-10
  • 8.12.1 - 2023-02-13
  • 8.12.0 - 2023-01-07
  • 8.11.0 - 2022-11-06
  • 8.10.0 - 2022-10-24
  • 8.9.0 - 2022-09-22
  • 8.8.1 - 2022-07-15
  • 8.8.0 - 2022-06-09
  • 8.7.0 - 2022-05-26
  • 8.6.0 - 2022-05-01
  • 8.5.0 - 2022-02-07
  • 8.4.2 - 2022-01-14
  • 8.4.1 - 2022-01-13
  • 8.4.0 - 2021-12-20
  • 8.3.0 - 2021-11-23
  • 8.2.3 - 2021-10-02
  • 8.2.2 - 2021-09-08
  • 8.2.1 - 2021-08-28
  • 8.2.0 - 2021-08-18
  • 8.1.0 - 2021-08-11
  • 8.0.0 - 2021-07-28
  • 7.5.10 - 2024-06-16

    Bug fixes

  • 7.5.9 - 2022-07-15
  • 7.5.8 - 2022-05-26
  • 7.5.7 - 2022-02-07
  • 7.5.6 - 2021-11-23
  • 7.5.5 - 2021-09-08
  • 7.5.4 - 2021-08-28
  • 7.5.3 - 2021-07-10
  • 7.5.2 - 2021-07-04
  • 7.5.1 - 2021-06-29
  • 7.5.0 - 2021-06-16
  • 7.4.6 - 2021-05-25
  • 7.4.5 - 2021-04-18
  • 7.4.4 - 2021-03-06
  • 7.4.3 - 2021-02-02
  • 7.4.2 - 2020-12-29
  • 7.4.1 - 2020-12-04
  • 7.4.0 - 2020-11-08
  • 7.3.1 - 2020-07-05
  • 7.3.0 - 2020-05-10
  • 7.2.5 - 2020-04-25
  • 7.2.3 - 2020-03-09
from ws GitHub release notes

Important

  • Warning: This PR contains a major version upgrade, and may be a breaking change.
  • Check the changes in this PR to ensure they won't cause issues with your project.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

For more information:

Snyk has created this PR to upgrade:
  - ioredis from 4.16.3 to 5.4.1.
    See this package in npm: https://www.npmjs.com/package/ioredis
  - serve-handler from 6.1.2 to 6.1.5.
    See this package in npm: https://www.npmjs.com/package/serve-handler
  - ws from 7.2.3 to 8.18.0.
    See this package in npm: https://www.npmjs.com/package/ws

See this project in Snyk:
https://app.snyk.io/org/cachiman/project/1d9f3b22-91ca-4e75-b103-f322fa4971af?utm_source=github&utm_medium=referral&page=upgrade-pr
Copy link

google-cla bot commented Sep 9, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A very fast retry strategy hangs blocking commands forever unsubscribe failed when stringNumbers is True
2 participants