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: axios, dotenv, jsonwebtoken, moment, mongoose, nodemailer, react-router-dom, socket.io, uuid #3

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

Conversation

X-pose
Copy link
Owner

@X-pose X-pose commented Sep 14, 2024

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.

Name Versions Released on

axios
from 1.4.0 to 1.7.5 | 20 versions ahead of your current version | 22 days ago
on 2024-08-23
dotenv
from 16.0.3 to 16.4.5 | 17 versions ahead of your current version | 7 months ago
on 2024-02-20
jsonwebtoken
from 9.0.0 to 9.0.2 | 2 versions ahead of your current version | a year ago
on 2023-08-30
moment
from 2.29.4 to 2.30.1 | 2 versions ahead of your current version | 9 months ago
on 2023-12-27
mongoose
from 7.1.0 to 7.8.1 | 40 versions ahead of your current version | a month ago
on 2024-08-19
nodemailer
from 6.9.1 to 6.9.14 | 13 versions ahead of your current version | 3 months ago
on 2024-06-19
react-router-dom
from 6.11.1 to 6.26.1 | 76 versions ahead of your current version | a month ago
on 2024-08-15
socket.io
from 4.6.1 to 4.7.5 | 7 versions ahead of your current version | 6 months ago
on 2024-03-14
uuid
from 9.0.0 to 9.0.1 | 1 version ahead of your current version | a year ago
on 2023-09-12

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
high severity Server-side Request Forgery (SSRF)
SNYK-JS-AXIOS-7361793
761 Proof of Concept
high severity Cross-site Request Forgery (CSRF)
SNYK-JS-AXIOS-6032459
761 Proof of Concept
high severity Prototype Pollution
SNYK-JS-AXIOS-6144788
761 No Known Exploit
high severity Denial of Service (DoS)
SNYK-JS-SOCKETIOPARSER-5596892
761 No Known Exploit
high severity Server-side Request Forgery (SSRF)
SNYK-JS-IP-6240864
761 Proof of Concept
high severity Prototype Pollution
SNYK-JS-MONGOOSE-5777721
761 Proof of Concept
high severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-SEMVER-3247795
761 Proof of Concept
high severity Uncaught Exception
SNYK-JS-SOCKETIO-7278048
761 No Known Exploit
high severity Improper Input Validation
SNYK-JS-FOLLOWREDIRECTS-6141137
761 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-AXIOS-6124857
761 Proof of Concept
medium severity Server-Side Request Forgery (SSRF)
SNYK-JS-IP-7148531
761 Proof of Concept
medium severity Information Exposure
SNYK-JS-MONGODB-5871303
761 No Known Exploit
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-NODEMAILER-6219989
761 Proof of Concept
medium severity Information Exposure
SNYK-JS-FOLLOWREDIRECTS-6444610
761 Proof of Concept
Release notes
Package name: axios from axios GitHub release notes
Package name: dotenv from dotenv GitHub release notes
Package name: jsonwebtoken
  • 9.0.2 - 2023-08-30

    Release 9.0.2 (#935)

  • 9.0.1 - 2023-07-05

    Updating package version to 9.0.1 (#920)

  • 9.0.0 - 2022-12-21
    • Check if node version supports asymmetricKeyDetails

    • Validate algorithms for ec key type

    • Rename variable

    • Rename function

    • Add early return for symmetric keys

    • Validate algorithm for RSA key type

    • Validate algorithm for RSA-PSS key type

    • Check key types for EdDSA algorithm

    • Rename function

    • Move validateKey function to module

    • Convert arrow to function notation

    • Validate key in verify function

    • Simplify if

    • Convert if to switch..case

    • Guard against empty key in validation

    • Remove empty line

    • Add lib to check modulus length

    • Add modulus length checks

    • Validate mgf1HashAlgorithm and saltLength

    • Check node version before using key details API

    • Use built-in modulus length getter

    • Fix Node version validations

    • Remove duplicate validateKey

    • Add periods to error messages

    • Fix validation in verify function

    • Make asymmetric key validation the latest validation step

    • Change key curve validation

    • Remove support for ES256K

    • Fix old test that was using wrong key types to sign tokens

    • Enable RSA-PSS for old Node versions

    • Add specific RSA-PSS validations on Node 16 LTS+

    • Improve error message

    • Simplify key validation code

    • Fix typo

    • Improve error message

    • Change var to const in test

    • Change const to let to avoid reassigning problem

    • Improve error message

    • Test incorrect private key type

    • Rename invalid to unsupported

    • Test verifying of jwt token with unsupported key

    • Test invalid private key type

    • Change order of object parameters

    • Move validation test to separate file

    • Move all validation tests to separate file

    • Add prime256v1 ec key

    • Remove modulus length check

    • WIP: Add EC key validation tests

    • Fix node version checks

    • Fix error message check on test

    • Add successful tests for EC curve check

    • Remove only from describe

    • Remove only

    • Remove duplicate block of code

    • Move variable to a different scope and make it const

    • Convert allowed curves to object for faster lookup

    • Rename variable

    • Change variable assignment order

    • Remove unused object properties

    • Test RSA-PSS happy path and wrong length

    • Add missing tests

    • Pass validation if no algorithm has been provided

    • Test validation of invalid salt length

    • Test error when signing token with invalid key

    • Change var to const/let in verify tests

    • Test verifying token with invalid key

    • Improve test error messages

    • Add parameter to skip private key validation

    • Replace DSA key with a 4096 bit long key

    • Test allowInvalidPrivateKeys in key signing

    • Improve test message

    • Rename variable

    • Add key validation flag tests

    • Fix variable name in Readme

    • Change private to public dsa key in verify

    • Rename flag

    • Run EC validation tests conditionally

    • Fix tests in old node versions

    • Ignore block of code from test coverage

    • Separate EC validations tests into two different ones

    • Add comment

    • Wrap switch in if instead of having an early return

    • Remove unsupported algorithms from asymmetric key validation

    • Rename option to allowInvalidAsymmetricKeyTypes and improve Readme

    • 9.0.0

    • adding migration notes to readme

    • adding changelog for version 9.0.0

    Co-authored-by: julienwoll julien.wollscheid@auth0.com

from jsonwebtoken GitHub release notes
Package name: moment from moment GitHub release notes
Package name: mongoose
  • 7.8.1 - 2024-08-19

    chore: release 7.8.1

  • 7.8.0 - 2024-07-23
  • 7.7.0 - 2024-06-18
  • 7.6.13 - 2024-06-05
  • 7.6.12 - 2024-05-21
  • 7.6.11 - 2024-04-11
  • 7.6.10 - 2024-03-13
  • 7.6.9 - 2024-02-26
  • 7.6.8 - 2024-01-08
  • 7.6.7 - 2023-12-06
  • 7.6.6 - 2023-11-27
  • 7.6.5 - 2023-11-14
  • 7.6.4 - 2023-10-30
  • 7.6.3 - 2023-10-17
  • 7.6.2 - 2023-10-13
  • 7.6.1 - 2023-10-09
  • 7.6.0 - 2023-10-06
  • 7.5.4 - 2023-10-04
  • 7.5.3 - 2023-09-25
  • 7.5.2 - 2023-09-15
  • 7.5.1 - 2023-09-11
  • 7.5.0 - 2023-08-29
  • 7.4.5 - 2023-08-25
  • 7.4.4 - 2023-08-22
  • 7.4.3 - 2023-08-11
  • 7.4.2 - 2023-08-03
  • 7.4.1 - 2023-07-24
  • 7.4.0 - 2023-07-18
  • 7.3.4 - 2023-07-12
  • 7.3.3 - 2023-07-11
  • 7.3.2 - 2023-07-06
  • 7.3.1 - 2023-06-21
  • 7.3.0 - 2023-06-14
  • 7.2.4 - 2023-06-12
  • 7.2.3 - 2023-06-09
  • 7.2.2 - 2023-05-30
  • 7.2.1 - 2023-05-24
  • 7.2.0 - 2023-05-19
  • 7.1.2 - 2023-05-19
  • 7.1.1 - 2023-05-10
  • 7.1.0 - 2023-04-27
from mongoose GitHub release notes
Package name: nodemailer
  • 6.9.14 - 2024-06-19

    6.9.14 (2024-06-19)

    Bug Fixes

    • api: Added support for Ethereal authentication (56b2205)
    • services.json: Add Email Services Provider Feishu Mail (CN) (#1648) (e9e9ecc)
    • services.json: update Mailtrap host and port in well known (#1652) (fc2c9ea)
    • well-known-services: Add Loopia in well known services (#1655) (21a28a1)
  • 6.9.13 - 2024-03-20

    6.9.13 (2024-03-20)

    Bug Fixes

    • tls: Ensure servername for SMTP (d66fdd3)
  • 6.9.12 - 2024-03-08

    6.9.12 (2024-03-08)

    Bug Fixes

    • message-generation: Escape single quote in address names (4ae5fad)
  • 6.9.11 - 2024-02-29

    6.9.11 (2024-02-29)

    Bug Fixes

    • headers: Ensure that Content-type is the bottom header (c7cf97e)
  • 6.9.10 - 2024-02-22

    6.9.10 (2024-02-22)

    Bug Fixes

    • data-uri: Do not use regular expressions for parsing data URI schemes (12e65e9)
    • data-uri: Moved all data-uri regexes to use the non-regex parseDataUri method (edd5dfe)
  • 6.9.9 - 2024-02-01

    6.9.9 (2024-02-01)

    Bug Fixes

    • security: Fix issues described in GHSA-9h6g-pr28-7cqp. Do not use eternal matching pattern if only a few occurences are expected (dd8f5e8)
    • tests: Use native node test runner, added code coverage support, removed grunt (#1604) (be45c1b)
  • 6.9.8 - 2023-12-30

    6.9.8 (2023-12-30)

    Bug Fixes

    • punycode: do not use native punycode module (b4d0e0c)
  • 6.9.7 - 2023-10-22

    6.9.7 (2023-10-22)

    Bug Fixes

    • customAuth: Do not require user and pass to be set for custom authentication schemes (fixes #1584) (41d482c)
  • 6.9.6 - 2023-10-09

    6.9.6 (2023-10-09)

    Bug Fixes

    • inline: Use 'inline' as the default Content Dispostion value for embedded images (db32c93)
    • tests: Removed Node v12 from test matrix as it is not compatible with the test framework anymore (7fe0a60)
  • 6.9.5 - 2023-09-06

    6.9.5 (2023-09-06)

    Bug Fixes

    • license: Updated license year (da4744e)
  • 6.9.4 - 2023-07-19
  • 6.9.3 - 2023-05-29
  • 6.9.2 - 2023-05-11
  • 6.9.1 - 2023-01-27
from nodemailer GitHub release notes
Package name: react-router-dom
  • 6.26.1 - 2024-08-15

    react-router-native@6.26.1

  • 6.26.1-pre.0 - 2024-08-14

    react-router-native@6.26.1-pre.0

  • 6.26.0 - 2024-08-01
  • 6.26.0-pre.1 - 2024-07-31
  • 6.26.0-pre.0 - 2024-07-30
  • 6.25.1 - 2024-07-17
  • 6.25.1-pre.0 - 2024-07-17
  • 6.25.0 - 2024-07-16
  • 6.25.0-pre.0 - 2024-07-12
  • 6.24.1 - 2024-07-03
  • 6.24.1-pre.0 - 2024-07-01
  • 6.24.0 - 2024-06-24
  • 6.24.0-pre.0 - 2024-06-14
  • 6.23.1 - 2024-05-10
  • 6.23.1-pre.1 - 2024-05-09
  • 6.23.1-pre.0 - 2024-04-30
  • 6.23.0 - 2024-04-23
  • 6.23.0-pre.1 - 2024-03-29
  • 6.23.0-pre.0 - 2024-03-27
  • 6.22.3 - 2024-03-07
  • 6.22.3-pre.0 - 2024-03-05
  • 6.22.2 - 2024-02-28
  • 6.22.2-pre.0 - 2024-02-27
  • 6.22.1 - 2024-02-16
  • 6.22.1-pre.0 - 2024-02-16
  • 6.22.0 - 2024-02-01
  • 6.22.0-pre.0 - 2024-01-31
  • 6.21.3 - 2024-01-18
  • 6.21.3-pre.0 - 2024-01-16
  • 6.21.2 - 2024-01-11
  • 6.21.2-pre.0 - 2024-01-09
  • 6.21.1 - 2023-12-21
  • 6.21.1-pre.0 - 2023-12-21
  • 6.21.0 - 2023-12-13
  • 6.21.0-pre.3 - 2023-12-06
  • 6.21.0-pre.2 - 2023-12-05
  • 6.21.0-pre.1 - 2023-12-05
  • 6.21.0-pre.0 - 2023-12-05
  • 6.20.1 - 2023-12-01
  • 6.20.1-pre.0 - 2023-12-01
  • 6.20.0 - 2023-11-22
  • 6.20.0-pre.0 - 2023-11-21
  • 6.19.0 - 2023-11-16
  • 6.19.0-pre.0 - 2023-11-14
  • 6.18.0 - 2023-10-31
  • 6.18.0-pre.1 - 2023-10-30
  • 6.18.0-pre.0 - 2023-10-26
  • 6.17.0 - 2023-10-16
  • 6.17.0-pre.2 - 2023-10-13
  • 6.17.0-pre.1 - 2023-10-12
  • 6.17.0-pre.0 - 2023-10-11
  • 6.16.0 - 2023-09-13
  • 6.16.0-pre.2 - 2023-09-06
  • 6.16.0-pre.1 - 2023-09-05
  • 6.16.0-pre.0 - 2023-08-28
  • 6.15.0 - 2023-08-10
  • 6.15.0-pre.0 - 2023-08-09
  • 6.14.2 - 2023-07-17
  • 6.14.2-pre.1 - 2023-07-17
  • 6.14.2-pre.0 - 2023-07-11
  • 6.14.1 - 2023-06-30
  • 6.14.1-pre.1 - 2023-06-30
  • 6.14.1-pre.0 - 2023-06-29
  • 6.14.0 - 2023-06-23
  • 6.14.0-pre.1 - 2023-06-21
  • 6.14.0-pre.0 - 2023-06-21
  • 6.13.0 - 2023-06-14
  • 6.13.0-pre.1 - 2023-06-13
  • 6.12.2-pre.0 - 2023-06-12
  • 6.12.1 - 2023-06-08
  • 6.12.1-pre.0 - 2023-06-08
  • 6.12.0 - 2023-06-06
  • 6.12.0-pre.1 - 2023-06-01
  • 6.12.0-pre.0 - 2023-06-01
  • 6.11.2 - 2023-05-17
  • 6.11.2-pre.0 - 2023-05-16
  • 6.11.1 - 2023-05-03
from react-router-dom GitHub release notes
Package name: socket.io
  • 4.7.5 - 2024-03-14

    Bug Fixes

    • close the adapters when the server is closed (bf64870)
    • remove duplicate pipeline when serving bundle (e426f3e)

    Links

  • 4.7.4 - 2024-01-12

    Bug Fixes

    • typings: calling io.emit with no arguments incorrectly errored (cb6d2e0), closes #4914

    Links

  • 4.7.3 - 2024-01-03

    Bug Fixes

    • return the first response when broadcasting to a single socket (#4878) (df8e70f)
    • typings: allow to bind to a non-secure Http2Server (#4853) (8c9ebc3)

    Links

  • 4.7.2 - 2023-08-02

    Bug Fixes

    • clean up child namespace when client is rejected in middleware (#4773) (0731c0d)
    • webtransport: properly handle WebTransport-only connections (3468a19)
    • webtransport: add proper framing (a306db0)

    Links

  • 4.7.1 - 2023-06-28

    The client bundle contains a few fixes regarding the WebTransport support.

    Links

  • 4.7.0 - 2023-06-22

    Bug Fixes

    • remove the Partial modifier from the socket.data type (#4740) (e5c62ca)

    Features

    Support for WebTransport

    The Socket.IO server can now use WebTransport as the underlying transport.

    WebTransport is a web API that uses the HTTP/3 protocol as a bidirectional transport. It's intended for two-way communications between a web client and an HTTP/3 server.

    References:

    Until WebTransport support lands in Node.js, you can use the @ fails-components/webtransport package:

    https://w3c.github.io/webtransport/#custom-certificate-requirements)
    const cert = readFileSync("/path/to/my/cert.pem");
    const key = readFileSync("/path/to/my/key.pem");

    const httpsServer = createServer({
    key,
    cert
    });

    httpsServer.listen(3000);

    const io = new Server(httpsServer, {
    transports: ["polling", "websocket", "webtransport"] // WebTransport is not enabled by default
    });

    const h3Server = new Http3Server({
    port: 3000,
    host: "0.0.0.0",
    secret: "changeit",
    cert,
    privKey: key,
    });

    (async () => {
    const stream = await h3Server.sessionStream("/socket.io/");
    const sessionReader = stream.getReader();

    while (true) {
    const { done, value } = await sessionReader.read();
    if (done) {
    break;
    }
    io.engine.onWebTransportSession(value);
    }
    })();

    h3Server.startServer();">

    import { readFileSync } from "fs";
    import { createServer } from "https";
    import { Server } from "socket.io";
    import { Http3Server } from "@ fails-components/webtransport";

    // WARNING: the total length of the validity period MUST NOT exceed two weeks (https://w3c.github.io/webtransport/#custom-certificate-requirements)
    const cert = readFileSync("/path/to/my/cert.pem");
    const key = readFileSync("/path/to/my/key.pem");

    const httpsServer = createServer({
    key,
    cert
    });

    httpsServer.listen(3000);

    const io = new Server(httpsServer, {
    transports: ["polling", "websocket", "webtransport"] // WebTransport is not enabled by default
    });

    const h3Server = new Http3Server({
    port: 3000,
    host: "0.0.0.0",
    secret: "changeit",
    cert,
    privKey: key,
    });

    (async () => {
    const stream = await h3Server.sessionStream("/socket.io/");
    const sessionReader = stream.getReader();

    while (true) {
    const { done, value } = await sessionReader.read();
    if (done) {
    break;
    }
    io.engine.onWebTransportSession(value);
    }
    })();

    h3Server.startServer();

    Added in 123b68c.

    Client bundles with CORS headers

    The bundles will now have the right Access-Control-Allow-xxx headers.

    Added in 63f181c.

    Links

  • 4.6.2 - 2023-05-31

    Bug Fixes

    • exports: move types condition to the top (#4698) (3d44aae)

    Links

  • 4.6.1 - 2023-02-20
from socket.io GitHub release notes
Package name: uuid from uuid GitHub release notes

Important

  • 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:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"axios","from":"1.4.0","to":"1.7.5"},{"n...

Snyk has created this PR to upgrade:
  - axios from 1.4.0 to 1.7.5.
    See this package in npm: https://www.npmjs.com/package/axios
  - dotenv from 16.0.3 to 16.4.5.
    See this package in npm: https://www.npmjs.com/package/dotenv
  - jsonwebtoken from 9.0.0 to 9.0.2.
    See this package in npm: https://www.npmjs.com/package/jsonwebtoken
  - moment from 2.29.4 to 2.30.1.
    See this package in npm: https://www.npmjs.com/package/moment
  - mongoose from 7.1.0 to 7.8.1.
    See this package in npm: https://www.npmjs.com/package/mongoose
  - nodemailer from 6.9.1 to 6.9.14.
    See this package in npm: https://www.npmjs.com/package/nodemailer
  - react-router-dom from 6.11.1 to 6.26.1.
    See this package in npm: https://www.npmjs.com/package/react-router-dom
  - socket.io from 4.6.1 to 4.7.5.
    See this package in npm: https://www.npmjs.com/package/socket.io
  - uuid from 9.0.0 to 9.0.1.
    See this package in npm: https://www.npmjs.com/package/uuid

See this project in Snyk:
https://app.snyk.io/org/x-pose/project/76ff08b6-6407-499f-a5c3-04ceb1254338?utm_source=github&utm_medium=referral&page=upgrade-pr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants