Skip to content

[Snyk] Upgrade react-scripts from 4.0.1 to 4.0.3 #45

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

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

Conversation

nejidevelops
Copy link
Owner

snyk-top-banner

Snyk has created this PR to upgrade react-scripts from 4.0.1 to 4.0.3.

ℹ️ 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.


  • The recommended version is 2 versions ahead of your current version.

  • The recommended version was released 4 years ago.

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
high severity Asymmetric Resource Consumption (Amplification)
SNYK-JS-BODYPARSER-7926860
105 No Known Exploit
high severity Prototype Pollution
SNYK-JS-IMMER-1019369
105 Proof of Concept
high severity Server-side Request Forgery (SSRF)
SNYK-JS-IP-6240864
105 Proof of Concept
high severity Improper Handling of Extra Parameters
SNYK-JS-FOLLOWREDIRECTS-6141137
105 Proof of Concept
high severity Prototype Pollution
SNYK-JS-ASYNC-2441827
105 Proof of Concept
high severity Improper Input Validation
SNYK-JS-URLPARSE-2407770
105 Proof of Concept
high severity Remote Memory Exposure
SNYK-JS-DNSPACKET-1293563
105 No Known Exploit
medium severity Cross-site Scripting (XSS)
SNYK-JS-COOKIE-8163060
105 No Known Exploit
medium severity Information Exposure
SNYK-JS-EVENTSOURCE-2823375
105 Proof of Concept
medium severity Command Injection
SNYK-JS-REACTDEVUTILS-1083268
105 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-PATHTOREGEXP-7925106
105 Proof of Concept
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-PATHTOREGEXP-8482416
105 Proof of Concept
medium severity Open Redirect
SNYK-JS-EXPRESS-6474509
105 No Known Exploit
medium severity Cross-site Scripting
SNYK-JS-EXPRESS-7926867
105 No Known Exploit
medium severity Information Exposure
SNYK-JS-FOLLOWREDIRECTS-2332181
105 Proof of Concept
medium severity Information Exposure
SNYK-JS-FOLLOWREDIRECTS-6444610
105 Proof of Concept
medium severity Improper Input Validation
SNYK-JS-URLPARSE-1078283
105 No Known Exploit
medium severity Open Redirect
SNYK-JS-URLPARSE-1533425
105 Proof of Concept
medium severity Access Restriction Bypass
SNYK-JS-URLPARSE-2401205
105 Proof of Concept
medium severity Authorization Bypass
SNYK-JS-URLPARSE-2407759
105 Proof of Concept
medium severity Authorization Bypass Through User-Controlled Key
SNYK-JS-URLPARSE-2412697
105 Proof of Concept
low severity Cross-site Scripting
SNYK-JS-SEND-7926862
105 No Known Exploit
low severity Cross-site Scripting
SNYK-JS-SERVESTATIC-7926865
105 No Known Exploit
low severity Information Exposure
SNYK-JS-FOLLOWREDIRECTS-2396346
105 No Known Exploit
critical severity Incomplete List of Disallowed Inputs
SNYK-JS-BABELTRAVERSE-5962462
105 Proof of Concept
Release notes
Package name: react-scripts
  • 4.0.3 - 2021-02-22
  • 4.0.2 - 2021-02-03
  • 4.0.1 - 2020-11-23
from react-scripts 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 has created this PR to upgrade react-scripts from 4.0.1 to 4.0.3.

See this package in npm:
react-scripts

See this project in Snyk:
https://app.snyk.io/org/newtonombese1/project/17c6ca10-01ad-41c8-a5f7-2a08362d0dda?utm_source=github&utm_medium=referral&page=upgrade-pr
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @nejidevelops, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

Hello team, gemini-code-assist here to provide a summary of this pull request. This PR was automatically generated by Snyk to address several security vulnerabilities by upgrading the react-scripts dependency from version 4.0.1 to 4.0.3. The upgrade targets multiple high, medium, low, and critical severity issues found in transitive dependencies of react-scripts, including vulnerabilities related to Prototype Pollution, SSRF, ReDoS, and more. The changes involve a simple version bump in the package.json file.

Highlights

  • Dependency Upgrade: Upgrades the react-scripts package from version 4.0.1 to 4.0.3.
  • Security Vulnerability Fixes: This upgrade is intended to fix a significant number of security vulnerabilities identified by Snyk, including critical, high, medium, and low severity issues in underlying dependencies.

Changelog

  • package.json
    • Updated the react-scripts dependency version from 4.0.1 to 4.0.3 (line 8).
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Dependency needs rise,
Snyk bot brings a new version,
Security patched.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This Snyk PR proposes an upgrade of react-scripts from 4.0.1 to 4.0.3. This is a positive step as it aims to address a list of security vulnerabilities, including one critical issue (SNYK-JS-BABELTRAVERSE-5962462) and several high-severity ones, as detailed in the PR description.

The change itself in package.json is straightforward. My main feedback revolves around two key points:

  1. The age of the target version (4.0.3), while an improvement over 4.0.1, is still part of an older major version line of react-scripts.
  2. The critical importance of thorough testing for any dependency upgrade.

Summary of Findings

  • Security Vulnerability Remediation: The upgrade to [email protected] is beneficial as it addresses multiple security vulnerabilities, including critical and high-severity issues, as identified by Snyk.
  • Outdated Target Dependency Version: [email protected], while an improvement, was released in early 2021. The project remains on an older major version (4.x.x) while 5.x.x is stable. It is recommended to plan a migration to [email protected] for better long-term security, maintainability, and features. (Severity: Medium)
  • Necessity of Thorough Testing: All dependency upgrades, including minor version bumps like this one, require thorough testing (automated tests, build verification, manual QA) to ensure application stability and prevent regressions. This is a critical step before merging. (Severity: High - Process Requirement)

Merge Readiness

This pull request represents a positive incremental improvement by addressing known security vulnerabilities in react-scripts. However, before merging, the following points should be carefully considered:

  1. Critical Need for Testing (High Priority): It is imperative that this change is thoroughly tested. This includes ensuring all existing automated tests pass, the application builds successfully, and manual QA confirms no regressions in functionality. Dependency updates can sometimes have subtle side effects.

  2. Strategic Dependency Management (Medium Priority): While 4.0.3 is better than 4.0.1, react-scripts 4.x is an old version. I strongly recommend that the team discusses and plans a future upgrade to [email protected]. This will provide more robust security and keep the project aligned with current React ecosystem standards.

Given the critical need for testing and the strategic recommendation for a more substantial future upgrade, I am setting the review status to REQUEST_CHANGES. This is primarily to ensure that the testing aspect is explicitly confirmed and that the team acknowledges and discusses the plan for moving to a more current version of react-scripts. If a full upgrade to 5.x.x is not immediately feasible, this PR can be merged once thorough testing is completed and confirmed.

Please note that I am not authorized to approve pull requests; this review provides feedback for the maintainers to consider.

@@ -5,7 +5,7 @@
"dependencies": {
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1"
"react-scripts": "4.0.3"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Upgrading react-scripts to 4.0.3 is a good step for addressing the listed vulnerabilities. However, it's important to consider the broader context of this dependency:

  • Version Age: [email protected] was released in February 2021. While this PR fixes specific issues, version 4.x is an older major release. The current stable major version is 5.x.x.

  • Recommendation for Further Upgrade: Could the team evaluate and plan an upgrade to [email protected] in the near future? Migrating to a more current version would provide more comprehensive security updates, bug fixes, performance improvements, and access to newer features, aligning the project with more recent React development practices.

  • Thorough Testing Essential: Even for this minor version bump from 4.0.1 to 4.0.3, please ensure comprehensive testing is performed. This includes running all automated tests (e.g., npm test), verifying the build process (npm run build), and conducting manual quality assurance to catch any potential regressions or unexpected side effects.

If an upgrade to [email protected] is a larger effort that cannot be undertaken immediately, merging this PR (after successful testing) is a valuable incremental improvement.

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