Skip to content

fix: resolve @isaacs/brace-expansion vulnerability (CVE-2026-25547)#218

Merged
kherembourg merged 1 commit intomainfrom
fix/dependabot-brace-expansion
Feb 16, 2026
Merged

fix: resolve @isaacs/brace-expansion vulnerability (CVE-2026-25547)#218
kherembourg merged 1 commit intomainfrom
fix/dependabot-brace-expansion

Conversation

@kherembourg
Copy link
Contributor

Summary

  • Add npm overrides in test-projects/expo-purchasely-test/package.json to force @isaacs/brace-expansion to >=5.0.1
  • Regenerated package-lock.json to resolve the vulnerable transitive dependency

Security

Fixes Dependabot alert #536@isaacs/brace-expansion <= 5.0.0 has an uncontrolled resource consumption vulnerability (CVE-2026-25547, High severity).

Test plan

  • npm install succeeds in expo test project
  • Verified @isaacs/brace-expansion resolves to 5.0.1 in lock file

🤖 Generated with Claude Code

Add npm override in expo test project to force @isaacs/brace-expansion
to >=5.0.1, fixing Dependabot alert #536 for uncontrolled resource
consumption.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gemini-code-assist
Copy link

Summary of Changes

Hello @kherembourg, 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!

This pull request focuses on enhancing the security posture of the expo-purchasely-test project by resolving a high-severity vulnerability in the @isaacs/brace-expansion package. It achieves this by explicitly overriding the vulnerable dependency version and ensuring the lock file is updated to reflect the secure state, alongside minor version updates for related Purchasely packages.

Highlights

  • Security Vulnerability Resolution: Addressed the @isaacs/brace-expansion uncontrolled resource consumption vulnerability (CVE-2026-25547) by updating the dependency to version 5.0.1.
  • Dependency Management: Implemented npm overrides in package.json to enforce the updated version of @isaacs/brace-expansion.
  • Lock File Regeneration: Regenerated package-lock.json to reflect the forced dependency update and other minor version bumps for Purchasely-related packages.
Changelog
  • test-projects/expo-purchasely-test/package-lock.json
    • Updated @isaacs/brace-expansion from 5.0.0 to 5.0.1.
    • Updated @purchasely/react-native-purchasely-android-player from 5.6.1 to 5.6.2.
    • Updated @purchasely/react-native-purchasely-google from 5.6.1 to 5.6.2.
    • Updated react-native-purchasely from 5.6.1 to 5.6.2.
  • test-projects/expo-purchasely-test/package.json
    • Added an overrides entry to force @isaacs/brace-expansion to version >=5.0.1.
Activity
  • The author successfully ran npm install in the expo test project.
  • The author verified that @isaacs/brace-expansion resolves to version 5.0.1 in the lock file.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

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.

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

The pull request correctly addresses the security vulnerability in @isaacs/brace-expansion (CVE-2026-25547) by implementing npm overrides to force version 5.0.1 or higher. It also includes a patch update for the @purchasely suite of packages to version 5.6.2. My feedback focuses on refining the override version range for improved project stability and ensuring the package-lock.json is fully synchronized with the new overrides configuration.

"react": "19.1.0",
"react-native": "0.81.5",
"react-native-purchasely": "^5.6.1"
"react-native-purchasely": "^5.6.2"

Choose a reason for hiding this comment

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

high

The package-lock.json file appears to be out of sync with the changes in package.json. When using the overrides field in an npm project with lockfile version 3, the overrides configuration should also be reflected in the root package entry (the "" key under "packages") of the lockfile. Its absence suggests the lockfile was not fully regenerated using npm install. Please run npm install to ensure the lockfile is correctly updated and synchronized.

"private": true
"private": true,
"overrides": {
"@isaacs/brace-expansion": ">=5.0.1"

Choose a reason for hiding this comment

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

medium

Using a broad range like >=5.0.1 in the overrides field can lead to unexpected breaking changes if a new major version of @isaacs/brace-expansion is released in the future. It is generally safer to use a caret range like ^5.0.1 to ensure you receive security patches and minor updates while remaining within the same major version, maintaining better project stability.

Suggested change
"@isaacs/brace-expansion": ">=5.0.1"
"@isaacs/brace-expansion": "^5.0.1"

@kherembourg kherembourg merged commit ffe0ba7 into main Feb 16, 2026
4 checks passed
@kherembourg kherembourg deleted the fix/dependabot-brace-expansion branch February 16, 2026 14:02
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

Comments