Skip to content

[Snyk] Security upgrade react-docgen from 5.4.3 to 6.0.0 #52

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: dev
Choose a base branch
from

Conversation

paaschdigital
Copy link
Owner

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.

Snyk changed the following file(s):

  • @plotly/dash-generator-test-component-standard/package.json
  • @plotly/dash-generator-test-component-standard/package-lock.json

Vulnerabilities that will be fixed with an upgrade:

Issue Score
medium severity Regular Expression Denial of Service (ReDoS)
SNYK-JS-BABELRUNTIME-10044504
  738  

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

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
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Regular Expression Denial of Service (ReDoS)

…lotly/dash-generator-test-component-standard/package-lock.json to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-BABELRUNTIME-10044504
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 @paaschdigital, 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

This pull request addresses a security vulnerability by upgrading the react-docgen dependency from version 5.4.3 to 6.0.0 in the @plotly/dash-generator-test-component-standard package. This upgrade resolves a Regular Expression Denial of Service (ReDoS) vulnerability, identified as SNYK-JS-BABELRUNTIME-10044504, which has a severity score of 738. The changes include modifications to package.json and package-lock.json to reflect the updated dependency and its transitive dependencies.

Highlights

  • Security Upgrade: Upgrades react-docgen from 5.4.3 to 6.0.0 to address a Regular Expression Denial of Service (ReDoS) vulnerability.
  • Dependency Update: Updates the package.json and package-lock.json files in @plotly/dash-generator-test-component-standard to reflect the new version of react-docgen and its dependencies.
  • Vulnerability Fix: Resolves SNYK-JS-BABELRUNTIME-10044504, a ReDoS vulnerability with a severity score of 738.

Changelog

Click here to see the changelog
  • @plotly/dash-generator-test-component-standard/package-lock.json
    • Updated react-docgen dependency from version 5.4.3 to 6.0.0.
    • Updated versions of @babel/helper-string-parser, @babel/helper-validator-identifier, @babel/parser, and @babel/types.
    • Added @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, and @types/doctrine dependencies.
    • Added @types/resolve dependency.
    • Updated function-bind dependency.
    • Updated strip-indent dependency.
    • Removed ansi-regex, ast-types, c8, cliui, estree-to-babel, foreground-child, html-escaper, istanbul-lib-coverage, istanbul-lib-report, istanbul-reports, rimraf, signal-exit, string-width, test-exclude, to-fast-properties, tslib, and v8-to-istanbul dependencies.
    • Marked balanced-match, brace-expansion, concat-map, fs.realpath, glob, inherits, is-core-module, isexe, minimatch, neo-async, nice-try, once, path-exists, path-is-absolute, regenerator-runtime, and supports-preserve-symlinks-flag as dev dependencies.
  • @plotly/dash-generator-test-component-standard/package.json
    • Updated react-docgen dependency from version 5.4.3 to 6.0.0.
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.


A ReDoS attack,
A regex gone off track,
Snyk to the rescue,
Upgrading the issue,
Security's brought back.

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 pull request, automatically generated by Snyk, upgrades react-docgen from version 5.4.3 to 6.0.0. This is a major version upgrade intended to fix a security vulnerability (ReDoS in a transitive dependency).

The primary changes are in package.json and package-lock.json to reflect the new version and its updated dependency tree. Key considerations for this upgrade include:

  1. Breaking Changes: react-docgen v6 is a major release and is marked as a breaking change. The way component metadata is parsed or the API used by extract-meta.js (or similar tools within this test package) might have changed.
  2. Node.js Version: The new version of react-docgen requires Node.js >=14.18.0, an increase from >=8.10.0.
  3. Localized Impact: The update is within @plotly/dash-generator-test-component-standard, which appears to be a test utility. This limits the immediate blast radius, but its functionality is critical for testing component generation.

Overall, the changes apply the upgrade correctly. The main task for merging will be to ensure compatibility and test thoroughly.

Summary of Findings

  • Major Dependency Upgrade: react-docgen has been upgraded from v5.4.3 to v6.0.0. This is a major version change and is flagged by Snyk metadata as a breaking change. Thorough testing is required.
  • Node.js Engine Requirement: [email protected] now requires Node.js version >=14.18.0. The environments where this package's scripts run need to meet this requirement.

Merge Readiness

The PR correctly applies the version upgrade for react-docgen. However, given that this is a major version upgrade and Snyk has identified it as a breaking change, thorough testing of the @plotly/dash-generator-test-component-standard package is crucial to ensure that component metadata generation still works as expected.

Additionally, please verify that all environments where this package (specifically, any scripts relying on react-docgen) is used meet the new Node.js requirement of >=14.18.0.

I am an AI assistant and cannot approve pull requests. After these checks and any necessary adjustments, the PR should be ready for further review by the maintainers.

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