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: amqplib, level, serve-handler, superagent, ws #535

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

amqplib
from 0.5.5 to 0.10.4 | 12 versions ahead of your current version | 5 months ago
on 2024-04-11
level
from 6.0.1 to 8.0.1 | 4 versions ahead of your current version
⚠️ This is a major version upgrade, and may be a breaking change | 8 months ago
on 2024-01-27
serve-handler
from 6.1.2 to 6.1.5 | 3 versions ahead of your current version | 2 years ago
on 2022-11-01
superagent
from 5.2.2 to 10.1.0 | 34 versions ahead of your current version
⚠️ This is a major version upgrade, and may be a breaking change | 25 days ago
on 2024-08-24
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
130 Proof of Concept
high severity Prototype Poisoning
SNYK-JS-QS-3153490
130 Proof of Concept
high severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-SEMVER-3247795
130 Proof of Concept
high severity Improper Input Validation
SNYK-JS-URLPARSE-2407770
130 Proof of Concept
medium severity Authorization Bypass Through User-Controlled Key
SNYK-JS-URLPARSE-2412697
130 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-WS-1296835
130 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-COOKIEJAR-3149984
130 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-MINIMATCH-3050818
130 No Known Exploit
medium severity Improper Input Validation
SNYK-JS-URLPARSE-1078283
130 No Known Exploit
medium severity Open Redirect
SNYK-JS-URLPARSE-1533425
130 Proof of Concept
medium severity Access Restriction Bypass
SNYK-JS-URLPARSE-2401205
130 Proof of Concept
medium severity Authorization Bypass
SNYK-JS-URLPARSE-2407759
130 Proof of Concept
low severity Regular Expression Denial of Service (ReDoS)
npm:debug:20170905
130 Proof of Concept
Release notes
Package name: amqplib
  • 0.10.4 - 2024-04-11

    0.10.4

  • 0.10.3 - 2022-09-01

    0.10.3

  • 0.10.2 - 2022-08-07

    0.10.2

  • 0.10.1 - 2022-07-26

    0.10.1

  • 0.10.0 - 2022-06-02

    0.10.0

  • 0.9.1 - 2022-05-22
  • 0.9.0 - 2022-05-09

    0.9.0

  • 0.8.0 - 2021-05-19

    ⚠️ This release drops support for NodeJS < v10 ⚠️. This version of amqplib still works with NodeJS v0.6 through v16, but future versions will not be tested for compatibility with NodeJS < v10.

    This is to unlock other improvements that can now be made, like

    • using the built-in Promise object
    • updating or switching libraries that previously couldn't be updated, because they had dropped support for older NodeJS
    • removing code that is now covered in the standard library, e.g., checking whether a number is an integer

    This release also includes an improvement to TLS connections for people using an AMQP server behind a load balancer. amqplib will now copy the hostname of the connection URL or object to the server name indication field.

  • 0.7.1 - 2021-03-08

    Merge pull request #609 from squaremo/release-0.7.1

    Bump version and changelog for v0.7.1

  • 0.7.0 - 2021-02-22

    This minor version release extends support to Node.js v15.

  • 0.6.0 - 2020-07-15

    Tag for version 0.6.0

  • 0.5.6 - 2020-05-14
  • 0.5.5 - 2019-07-30
from amqplib GitHub release notes
Package name: level from level 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: superagent from superagent 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:
  - amqplib from 0.5.5 to 0.10.4.
    See this package in npm: https://www.npmjs.com/package/amqplib
  - level from 6.0.1 to 8.0.1.
    See this package in npm: https://www.npmjs.com/package/level
  - serve-handler from 6.1.2 to 6.1.5.
    See this package in npm: https://www.npmjs.com/package/serve-handler
  - superagent from 5.2.2 to 10.1.0.
    See this package in npm: https://www.npmjs.com/package/superagent
  - 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/3695d9c6-3338-48f9-b705-c2861b11d110?utm_source=github&utm_medium=referral&page=upgrade-pr
Copy link

google-cla bot commented Sep 18, 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.

2 participants