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] Fix for 7 vulnerabilities #23

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

Conversation

naiba4
Copy link
Owner

@naiba4 naiba4 commented Dec 20, 2023

This PR was automatically created by Snyk using the credentials of a real user.


Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

  • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
    • package.json
⚠️ Warning
Failed to update the package-lock.json, please update manually before merging.

Vulnerabilities that will be fixed

With an upgrade:
Severity Priority Score (*) Issue Breaking Change Exploit Maturity
high severity 159/1000
Why? Confidentiality impact: None, Integrity impact: None, Availability impact: High, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00299, Social Trends: No, Days since published: 828, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 5.99, Likelihood: 2.65, Score Version: V5
Regular Expression Denial of Service (ReDoS)
SNYK-JS-ANSIREGEX-1583908
No Proof of Concept
high severity 159/1000
Why? Confidentiality impact: None, Integrity impact: None, Availability impact: High, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00109, Social Trends: No, Days since published: 386, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 5.99, Likelihood: 2.64, Score Version: V5
Denial of Service (DoS)
SNYK-JS-DECODEURICOMPONENT-3149970
No Proof of Concept
medium severity 112/1000
Why? Confidentiality impact: High, Integrity impact: None, Availability impact: None, Scope: Changed, Exploit Maturity: No data, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: High, Attack Vector: Network, EPSS: 0.00116, Social Trends: No, Days since published: 1049, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: Medium, Package Popularity Score: 99, Impact: 6.65, Likelihood: 1.67, Score Version: V5
Cryptographic Issues
SNYK-JS-ELLIPTIC-1064899
No No Known Exploit
high severity 149/1000
Why? Confidentiality impact: Low, Integrity impact: Low, Availability impact: High, Scope: Unchanged, Exploit Maturity: No data, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00209, Social Trends: No, Days since published: 765, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 7.84, Likelihood: 1.9, Score Version: V5
Prototype Pollution
SNYK-JS-JSONSCHEMA-1920922
Yes No Known Exploit
high severity 159/1000
Why? Confidentiality impact: None, Integrity impact: None, Availability impact: High, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00437, Social Trends: No, Days since published: 380, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 5.99, Likelihood: 2.65, Score Version: V5
Prototype Poisoning
SNYK-JS-QS-3153490
Yes Proof of Concept
high severity 169/1000
Why? Confidentiality impact: None, Integrity impact: None, Availability impact: High, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.00091, Social Trends: No, Days since published: 182, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 5.99, Likelihood: 2.81, Score Version: V5
Regular Expression Denial of Service (ReDoS)
SNYK-JS-SEMVER-3247795
No Proof of Concept
high severity 202/1000
Why? Confidentiality impact: Low, Integrity impact: Low, Availability impact: Low, Scope: Unchanged, Exploit Maturity: Proof of Concept, User Interaction (UI): None, Privileges Required (PR): None, Attack Complexity: Low, Attack Vector: Network, EPSS: 0.37658, Social Trends: No, Days since published: 1134, Reachable: No, Transitive dependency: Yes, Is Malicious: No, Business Criticality: High, Provider Urgency: High, Package Popularity Score: 99, Impact: 5.62, Likelihood: 3.58, Score Version: V5
Prototype Pollution
SNYK-JS-Y18N-1021887
No Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages
Package name: @truffle/config The new version differs by 250 commits.
  • dddefba Publish
  • f7b63fb Merge pull request #4798 from trufflesuite/update-lodash-imports
  • d0ca778 reduce lodash imports to those necessary
  • 526248f Merge pull request #4795 from trufflesuite/update-deps
  • e890842 Update yarn.lock
  • 0c06248 Merge pull request #4791 from trufflesuite/panic-at-the-contract
  • 0bf2131 Update lodash and module dependencies to fix critical CVE
  • 62b4650 Merge pull request #4796 from trufflesuite/remove-module-package
  • 802d354 Remove unneeded module package
  • 2ac45ef Merge pull request #4794 from trufflesuite/chore/disable-ethpm-test
  • 38f9337 truffle: disable EthPM zeppelin integration test
  • 50007d3 Add test of panic codes in Truffle Contract
  • 7590f72 Update Truffle Contract tests to Solidity 0.8.12
  • 3efa551 Add support for panic decoding in Truffle Contract
  • 08ce82d Merge pull request #4787 from trufflesuite/dependabot/npm_and_yarn/url-parse-1.5.10
  • 02bf787 Bump url-parse from 1.5.7 to 1.5.10
  • 19aa614 Merge pull request #4781 from trufflesuite/init-0812
  • a42a8e4 Update Solidity version in Truffle Init to 0.8.12
  • 611e006 Merge pull request #4772 from trufflesuite/network-issue-4327
  • dc4b327 Change variable name
  • 449b5db Update packages/core/lib/commands/test/run.js
  • 445ee7a Add comments in the code
  • a11dfb2 Publish
  • d66a795 Merge pull request #4745 from trufflesuite/open-the-gates

See the full diff

Package name: eth-gas-reporter The new version differs by 32 commits.

See the full diff

Package name: solidity-coverage The new version differs by 80 commits.
  • 0a33e13 0.8.0
  • 4c63612 Add hardhat to peerDependencies (#722)
  • 9ce20ff Typo / Grammar fix. (#738)
  • 204a5eb Added a section for the report location. (#739)
  • ed3d504 Fix README for v0.8 release
  • 05ab320 Fixes for Hardhat 2.11.0 (#740)
  • bc7d076 0.8.0 Additional Coverage Measurements & Restructure (Merge)
  • a7db2fe More README changes
  • 16367d1 Remove truffle files from project
  • 26898c1 Remove Builder-E2E test
  • 8ea8ec9 Fix true/false scoped method definition function visibilities
  • 21ca46e Temporarily skip truffle integration tests
  • 22992e1 Fix constructor test
  • cf126ea Fix assert tests
  • 0ba3f11 Remove more buildler things
  • d57a131 Remove buidler
  • 3bcec94 Fix rebase errors & regenerate yarn.lock
  • 88c1d00 Fix loops, modifiers, options and statements tests
  • 0deb001 Fix if/else tests
  • 29c0fdd Fix constructor keyword test
  • d4e8536 Update tests for adjusted statement coverage
  • 3edfd25 Stop injecting statement coverage into conditionals
  • 7eb94a9 Update @ solidity-parser/parser to 0.14.1
  • e9133d7 Generate mocha JSON output with --matrix (#601)

See the full diff

Package name: web3 The new version differs by 250 commits.
  • 5b5bf87 changelog updates
  • 45d55c3 version update
  • 4358140 Release/4.0.1 rc.2 (#6152)
  • cdc2835 fix canary auth (#6151)
  • 55a4de1 add util polyfill (#6150)
  • 45edf3d Canary releases (#6143)
  • 01ce365 Proposal for rearranging docs (#6141)
  • 86082bc skip '### Breaking Changes' section from unreleasedSection array (#6138)
  • d60c285 Fix plugin example tests with `4.0.1-rc.1` (#6134)
  • 88ac791 Correct and enhance documentation for subscribing to events (#6129)
  • daaaff7 Autotype for contract methods (#6137)
  • ab80131 support ESM builds (#6131)
  • 6202d1e min build whitelisting (#6132)
  • 7a924db migration guide update (#6130)
  • 4f423fc Fix validation of nested tuples (#6125)
  • 408332d fix!: remove non read-only ens methods (#6084)
  • 8c5ea34 Providers Tutorial (#6095)
  • f2abd6a Eth turorial (#6120)
  • 210455a transaction integration tests (#6071)
  • fe959a1 Contract options fix (#6118)
  • bf1311f update docs so web is imported by default (#6112)
  • 3b95b5e fix estimateGas to accept hex data without 0x prefix (#6103)
  • 8c3a17b Add a tutorial for smart contract basic interaction (#6089)
  • edc7a84 `defaultTransactionTypeParser` Refactor (#6102)

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.


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

For more information:
🧐 View latest project report

🛠 Adjust project settings

📚 Read more about Snyk's upgrade and patch logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Regular Expression Denial of Service (ReDoS)
🦉 Cryptographic Issues
🦉 Prototype Pollution

Copy link

codesandbox bot commented Dec 20, 2023

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

This PR has 8 quantified lines of changes. In general, a change size of upto 200 lines is ideal for the best PR experience!


Quantification details

Label      : Extra Small
Size       : +4 -4
Percentile : 3.2%

Total files changed: 1

Change summary by file extension:
.json : +4 -4

Change counts above are quantified counts, based on the PullRequestQuantifier customizations.

Why proper sizing of changes matters

Optimal pull request sizes drive a better predictable PR flow as they strike a
balance between between PR complexity and PR review overhead. PRs within the
optimal size (typical small, or medium sized PRs) mean:

  • Fast and predictable releases to production:
    • Optimal size changes are more likely to be reviewed faster with fewer
      iterations.
    • Similarity in low PR complexity drives similar review times.
  • Review quality is likely higher as complexity is lower:
    • Bugs are more likely to be detected.
    • Code inconsistencies are more likely to be detected.
  • Knowledge sharing is improved within the participants:
    • Small portions can be assimilated better.
  • Better engineering practices are exercised:
    • Solving big problems by dividing them in well contained, smaller problems.
    • Exercising separation of concerns within the code changes.

What can I do to optimize my changes

  • Use the PullRequestQuantifier to quantify your PR accurately
    • Create a context profile for your repo using the context generator
    • Exclude files that are not necessary to be reviewed or do not increase the review complexity. Example: Autogenerated code, docs, project IDE setting files, binaries, etc. Check out the Excluded section from your prquantifier.yaml context profile.
    • Understand your typical change complexity, drive towards the desired complexity by adjusting the label mapping in your prquantifier.yaml context profile.
    • Only use the labels that matter to you, see context specification to customize your prquantifier.yaml context profile.
  • Change your engineering behaviors
    • For PRs that fall outside of the desired spectrum, review the details and check if:
      • Your PR could be split in smaller, self-contained PRs instead
      • Your PR only solves one particular issue. (For example, don't refactor and code new features in the same PR).

How to interpret the change counts in git diff output

  • One line was added: +1 -0
  • One line was deleted: +0 -1
  • One line was modified: +1 -1 (git diff doesn't know about modified, it will
    interpret that line like one addition plus one deletion)
  • Change percentiles: Change characteristics (addition, deletion, modification)
    of this PR in relation to all other PRs within the repository.


Was this comment helpful? 👍  :ok_hand:  :thumbsdown: (Email)
Customize PullRequestQuantifier for this repository.

Copy link

sonarcloud bot commented Dec 20, 2023

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Copy link

Updated and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
web3 1.10.3...4.3.0 None +23/-18 8.5 MB luu-alex

🚮 Removed packages: solidity-coverage@0.7.22

Copy link

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Issue Package Version Note Source
Chronological version anomaly web3-eth-iban 4.0.7
Major refactor web3-eth-iban 4.0.7
  • Change Percentage: 103.84
  • Current Line Count: 1747
  • Previous Line Count: 0
  • Lines Changed: 1814
Mixed license web3-eth-iban 4.0.7
Chronological version anomaly web3-utils 4.1.0
Mixed license web3-utils 4.1.0
New author web3-utils 4.1.0
Chronological version anomaly zod 3.22.4
Chronological version anomaly web3-rpc-methods 1.1.4
New author web3-rpc-methods 1.1.4
Chronological version anomaly web3-validator 2.0.3
Mixed license web3-validator 2.0.3
Chronological version anomaly abitype 0.7.1
No v1 abitype 0.7.1
Chronological version anomaly web3-net 4.0.7
Mixed license web3-net 4.0.7
Chronological version anomaly web3-providers-http 4.1.0
Chronological version anomaly web3-providers-ws 4.0.7
Mixed license web3-providers-ws 4.0.7
Chronological version anomaly web3-core 4.3.2
Mixed license web3-core 4.3.2
New author web3-core 4.3.2
Chronological version anomaly web3-providers-ipc 4.0.7
Filesystem access web3-providers-ipc 4.0.7
Mixed license web3-providers-ipc 4.0.7
Network access web3-providers-ipc 4.0.7
Chronological version anomaly web3-eth-accounts 4.1.0
Mixed license web3-eth-accounts 4.1.0
Chronological version anomaly web3-eth-contract 4.1.4
Mixed license web3-eth-contract 4.1.4
Chronological version anomaly web3 4.3.0
Mixed license web3 4.3.0
Mixed license web3-errors 1.1.4
Mixed license web3-eth 4.3.1
New author web3-eth 4.3.1
Mixed license web3-eth-abi 4.1.4
New author web3-eth-abi 4.1.4
Mixed license web3-eth-personal 4.0.8
New author web3-eth-personal 4.0.8
Mixed license web3-types 1.3.1
New author web3-eth-ens 4.0.8

Next steps

What is a chronological version anomaly?

Semantic versions published out of chronological order.

This could either indicate dependency confusion or a patched vulnerability.

What is a major refactor?

Package has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.

Consider waiting before upgrading to see if any issues are discovered, or be prepared to scrutinize any bugs or subtle changes the major refactor may bring. Publishers my consider publishing beta versions of major refactors to limit disruption to parties interested in the new changes.

What is a mixed license?

(Experimental) Package contains multiple licenses.

A new version of the package should be published that includes a single license. Consumers may seek clarification from the package author. Ensure that the license details are consistent across the LICENSE file, package.json license field and license details mentioned in the README.

What is new author?

A new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.

Scrutinize new collaborator additions to packages because they now have the ability to publish code into your dependency tree. Packages should avoid frequent or unnecessary additions or changes to publishing rights.

What is wrong with semver < v1?

Package is not semver >=1. This means it is not stable and does not support ^ ranges.

If the package sees any general use, it should begin releasing at version 1.0.0 or later to benefit from semver.

What is filesystem access?

Accesses the file system, and could potentially read sensitive data.

If a package must read the file system, clarify what it will read and ensure it reads only what it claims to. If appropriate, packages can leave file system access to consumers and operate on data passed to it instead.

What is network access?

This module accesses the network.

Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of package-name@version specifiers. e.g. @SocketSecurity ignore foo@1.0.0 bar@* or ignore all packages with @SocketSecurity ignore-all

  • @SocketSecurity ignore abitype@0.7.1
  • @SocketSecurity ignore web3-core@4.3.2
  • @SocketSecurity ignore web3-eth@4.3.1
  • @SocketSecurity ignore web3-eth-abi@4.1.4
  • @SocketSecurity ignore web3-eth-ens@4.0.8
  • @SocketSecurity ignore web3-eth-personal@4.0.8
  • @SocketSecurity ignore web3-rpc-methods@1.1.4
  • @SocketSecurity ignore web3-utils@4.1.0
  • @SocketSecurity ignore web3@4.3.0
  • @SocketSecurity ignore web3-errors@1.1.4
  • @SocketSecurity ignore web3-eth-accounts@4.1.0
  • @SocketSecurity ignore web3-eth-contract@4.1.4
  • @SocketSecurity ignore web3-eth-iban@4.0.7
  • @SocketSecurity ignore web3-net@4.0.7
  • @SocketSecurity ignore web3-providers-ipc@4.0.7
  • @SocketSecurity ignore web3-providers-ws@4.0.7
  • @SocketSecurity ignore web3-types@1.3.1
  • @SocketSecurity ignore web3-validator@2.0.3
  • @SocketSecurity ignore zod@3.22.4
  • @SocketSecurity ignore web3-providers-http@4.1.0

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

Successfully merging this pull request may close these issues.

2 participants