Skip to content

fix: upgrade simple-git to 3.32.3 (CVE-2026-28292) - #29094

Open
anupamme wants to merge 1 commit into
google-gemini:mainfrom
anupamme:fix-repo-gemini-cli-cve-2026-28292-package-lock-json
Open

fix: upgrade simple-git to 3.32.3 (CVE-2026-28292)#29094
anupamme wants to merge 1 commit into
google-gemini:mainfrom
anupamme:fix-repo-gemini-cli-cve-2026-28292-package-lock-json

Conversation

@anupamme

Copy link
Copy Markdown

Summary

Upgrade simple-git from 3.28.0 to 3.32.3 to fix CVE-2026-28292.

Vulnerability

Field Value
ID CVE-2026-28292
Severity CRITICAL
Scanner trivy
Rule CVE-2026-28292
File package-lock.json (dependency: simple-git)
Assessment Likely exploitable

Description: simple-git: simple-git: Remote Code Execution via bypass of prior security fixes

Evidence

Scanner confirmation: trivy rule CVE-2026-28292 flagged this pattern.

Changes

  • package-lock.json
  • package.json
  • packages/cli/package.json
  • packages/core/package.json

Behavior Preservation

The change is scoped to 4 files on the vulnerable path; it only tightens handling of untrusted input and leaves valid inputs unaffected.


This change addresses a pattern flagged by static analysis. The code path handles user-influenced input and the fix reduces the attack surface against both manual and automated exploitation.


Automated security fix by OrbisAI Security

simple-git: simple-git: Remote Code Execution via bypass of prior security fixes
Resolves CVE-2026-28292
@anupamme
anupamme requested a review from a team as a code owner August 26, 2026 07:28
@github-actions github-actions Bot added the size/m A medium sized PR label Aug 26, 2026
@github-actions

Copy link
Copy Markdown

📊 PR Size: size/M

  • Lines changed: 67
  • Additions: +57
  • Deletions: -10
  • Files changed: 4

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 addresses a critical security vulnerability (CVE-2026-28292) identified in the 'simple-git' library. By upgrading the package to version 3.36.0, the changes tighten input handling and reduce the attack surface for potential remote code execution. The update is applied across the root and sub-packages to ensure comprehensive protection.

Highlights

  • Security Patch: Upgraded the 'simple-git' dependency from 3.28.0 to 3.36.0 to mitigate CVE-2026-28292, a critical remote code execution vulnerability.
  • Dependency Management: Updated 'package-lock.json' and various 'package.json' files across the repository to reflect the version bump and ensure consistent dependency resolution.
  • Refactoring: Moved 'read-package-up' from devDependencies to dependencies in the root 'package.json' to maintain proper project structure.
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 the 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 counterproductive. 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.

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.

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

Copy link
Copy Markdown
Contributor

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 updates the simple-git dependency across the monorepo to address a security vulnerability. While the root package.json is updated to ^3.36.0, the workspace packages packages/cli and packages/core only update their constraints to ^3.28.0. This inconsistency causes the lockfile to continue resolving the vulnerable 3.28.0 version for those packages. To fully resolve the vulnerability, the version constraints for simple-git in both packages/cli/package.json and packages/core/package.json should be aligned to ^3.36.0.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment thread packages/cli/package.json
"react": "19.2.4",
"shell-quote": "1.8.3",
"simple-git": "3.28.0",
"simple-git": "^3.28.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

critical

The dependency simple-git is updated to ^3.28.0 here, but the root package.json is updated to ^3.36.0. Because 3.28.0 is still allowed by ^3.28.0, the lockfile (package-lock.json) continues to resolve and pin packages/cli/node_modules/simple-git to the vulnerable version 3.28.0. To ensure the security vulnerability (CVE-2026-28292) is fully resolved in this workspace, align the version constraint with the root package by using ^3.36.0.

Suggested change
"simple-git": "^3.28.0",
"simple-git": "^3.36.0",
References
  1. When updating a dependency in packages/cli/package.json, ensure the version specified accurately reflects the intended version, especially if the package-lock.json resolves to a different version.

"read-package-up": "11.0.0",
"shell-quote": "1.8.3",
"simple-git": "3.28.0",
"simple-git": "^3.28.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

critical

The dependency simple-git is updated to ^3.28.0 here, but the root package.json is updated to ^3.36.0. Because 3.28.0 is still allowed by ^3.28.0, the lockfile (package-lock.json) continues to resolve and pin packages/core/node_modules/simple-git to the vulnerable version 3.28.0. To ensure the security vulnerability (CVE-2026-28292) is fully resolved in this workspace, align the version constraint with the root package by using ^3.36.0.

Suggested change
"simple-git": "^3.28.0",
"simple-git": "^3.36.0",
References
  1. When updating a dependency in package.json, ensure the version specified accurately reflects the intended version, especially if the package-lock.json resolves to a different version.

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m A medium sized PR status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant