-
Notifications
You must be signed in to change notification settings - Fork 4
chore(deps): update dependency glob to v10 [security] #210
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
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughThe devDependency Sequence Diagram(s)sequenceDiagram
participant DevEnv as Development Env
participant NPM as npm/Yarn Resolver
participant Registry as Package Registry
rect rgb(235,245,255)
DevEnv->>NPM: run install (package.json)
NPM->>Registry: request "glob@^10.0.0"
Registry-->>NPM: return [email protected] (resolved)
NPM-->>DevEnv: install resolved dependencies
end
note right of DevEnv: Old flow requested glob@^7.1.2 instead\n(resulting in [email protected])
Pre-merge checks✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro Disabled knowledge base sources:
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #210 +/- ##
===========================
===========================
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (2)
package-lock.jsonis excluded by!**/package-lock.jsonsrc/test/vscode-notebook-perf/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (2)
package.json(1 hunks)src/test/vscode-notebook-perf/package.json(1 hunks)
🔇 Additional comments (1)
package.json (1)
2504-2504: Confirm glob library API usage only; manual verification recommended.Script search found no obvious glob CLI invocation with
-c/--cmdflags in the codebase. However, absence of matches doesn't guarantee safety—indirect or dynamic invocation patterns may not appear in simple searches. Review the codebase manually to confirm:
- glob is invoked via
glob()orglobSync()API calls only- No child_process calls (spawn/exec/execFile) invoke the glob CLI binary
- No build or runtime scripts pass user-controlled data to glob CLI with
-cor--cmdoptionsIf all three checks pass, the upgrade to glob@^11.0.0 is safe.
package.json
Outdated
| "format-util": "^1.0.5", | ||
| "fs-extra": "^4.0.3", | ||
| "glob": "^9.3.5", | ||
| "glob": "^11.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pin glob to ≥11.1.0 to ensure vulnerability fix is installed.
The caret range ^11.0.0 allows npm to install [email protected], which may still contain the vulnerability. Per the PR objectives, the fix is in [email protected]+. Update to ^11.1.0 or use >=11.1.0 <12.0.0 to guarantee the patched version.
- "glob": "^11.0.0",
+ "glob": "^11.1.0",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "glob": "^11.0.0", | |
| "glob": "^11.1.0", |
🤖 Prompt for AI Agents
In package.json around line 2504, the dependency "glob" is pinned as "^11.0.0"
which allows installing vulnerable 11.0.0; change the version spec to "^11.1.0"
(or ">=11.1.0 <12.0.0") to ensure the patched release is used, then update your
lockfile (run npm install or yarn install) and commit the updated lockfile so CI
installs the fixed version.
38841e5 to
dcd63c8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
src/test/vscode-notebook-perf/package.json (1)
35-35: Pin glob to ^10.5.0 or ^11.1.0 to ensure vulnerability is patched.Same issue as root
package.json: the caret range^10.0.0allows npm to install vulnerable versions (10.3.7 through 10.4.x). Update to^10.5.0or^11.1.0per the PR security advisory.- "glob": "^10.0.0", + "glob": "^10.5.0",
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (2)
package-lock.jsonis excluded by!**/package-lock.jsonsrc/test/vscode-notebook-perf/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (2)
package.json(1 hunks)src/test/vscode-notebook-perf/package.json(1 hunks)
package.json
Outdated
| "format-util": "^1.0.5", | ||
| "fs-extra": "^4.0.3", | ||
| "glob": "^9.3.5", | ||
| "glob": "^10.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pin glob to ^10.5.0 or ^11.1.0 to ensure vulnerability is patched.
The caret range ^10.0.0 permits installation of versions 10.3.7 through 10.4.x, which contain CVE-2025-64756. Per the PR objectives, the fix is available in [email protected] (v10 branch) or [email protected]+ (v11 branch). Update the version constraint to guarantee the patched version is installed.
- "glob": "^10.0.0",
+ "glob": "^10.5.0",Or use ^11.1.0 if you prefer the latest stable release with full v11 enhancements.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "glob": "^10.0.0", | |
| "glob": "^10.5.0", |
🤖 Prompt for AI Agents
In package.json around line 2504, the "glob" dependency is pinned to "^10.0.0"
which allows vulnerable 10.3.7–10.4.x versions; update the version constraint to
a patched release by changing it to either "^10.5.0" (v10 branch) or "^11.1.0"
(v11 branch) and then regenerate the lockfile (npm/yarn/pnpm install) to ensure
the patched version is recorded.
dcd63c8 to
57eb9e2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
src/test/vscode-notebook-perf/package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
src/test/vscode-notebook-perf/package.json(1 hunks)
| "@vscode/test-cli": "^0.0.8", | ||
| "@vscode/test-electron": "^2.3.9", | ||
| "glob": "^7.1.2", | ||
| "glob": "^10.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update caret range to exclude vulnerable patch versions: glob@^10.5.0.
The caret range ^10.0.0 allows versions 10.0.0 through <11.0.0, which includes vulnerable versions 10.3.7–10.9.x (CVE-2025-64756). The security patch was introduced in [email protected]. Per the PR objectives, the remediation is to upgrade to [email protected] or later.
- "glob": "^10.0.0",
+ "glob": "^10.5.0",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "glob": "^10.0.0", | |
| "glob": "^10.5.0", |
🤖 Prompt for AI Agents
In src/test/vscode-notebook-perf/package.json around line 35, the dependency
range "glob": "^10.0.0" permits vulnerable 10.x releases; change the version
spec to "glob": "^10.5.0" (or ">=10.5.0 <11.0.0") to ensure the security patch
is included, then regenerate lockfile (npm/yarn install) so package-lock.json or
yarn.lock is updated and run tests to verify nothing breaks.
1c0d2f1 to
d645ea9
Compare
d645ea9 to
2f8059f
Compare
This PR contains the following updates:
^7.1.2->^10.0.0GitHub Vulnerability Alerts
CVE-2025-64756
Summary
The glob CLI contains a command injection vulnerability in its
-c/--cmdoption that allows arbitrary command execution when processing files with malicious names. Whenglob -c <command> <patterns>is used, matched filenames are passed to a shell withshell: true, enabling shell metacharacters in filenames to trigger command injection and achieve arbitrary code execution under the user or CI account privileges.Details
Root Cause:
The vulnerability exists in
src/bin.mts:277where the CLI collects glob matches and executes the supplied command usingforegroundChild()withshell: true:Technical Flow:
glob -c <command> <pattern>shell: trueAffected Component:
glob(),globSync(), streams/iterators) is not affectedAttack Surface:
$(), backticks,;,&,|, etc.glob -con untrusted contentPoC
Setup Malicious File:
Trigger Vulnerability:
Result:
$(touch injected_poc)in the filename is evaluated by the shellinjected_pocis created, proving command executionAdvanced Payload Examples:
Data Exfiltration:
Reverse Shell:
Environment Variable Harvesting:
Impact
Arbitrary Command Execution:
Real-World Attack Scenarios:
1. CI/CD Pipeline Compromise:
glob -cto process files (linting, testing, deployment)2. Developer Workstation Attack:
glob -cfor file processing3. Automated Processing Systems:
4. Supply Chain Poisoning:
Platform-Specific Risks:
Affected Products
src/bin.mts)-c/--cmdoption)Scope Limitation:
glob(),globSync(), async iterators) are safe-c/--cmdoption is vulnerableRemediation
[email protected],[email protected], or higher, as soon as possible.globCLI actions fail, then convert commands containing positional arguments, to use the--cmd-arg/-goption instead.--shellto maintainshell:truebehavior until glob v12, but take care to ensure that no untrusted contents can possibly be encountered in the file path results.Release Notes
isaacs/node-glob (glob)
v10.5.0Compare Source
v10.4.5Compare Source
v10.4.4Compare Source
v10.4.3Compare Source
v10.4.2Compare Source
v10.4.1Compare Source
v10.4.0Compare Source
v10.3.16Compare Source
v10.3.15Compare Source
v10.3.14Compare Source
v10.3.13Compare Source
v10.3.12Compare Source
v10.3.11Compare Source
v10.3.10Compare Source
v10.3.9Compare Source
v10.3.8Compare Source
v10.3.7Compare Source
v10.3.6Compare Source
v10.3.5Compare Source
v10.3.4Compare Source
v10.3.3Compare Source
v10.3.2Compare Source
v10.3.1Compare Source
v10.3.0Compare Source
v10.2.7Compare Source
v10.2.6Compare Source
v10.2.5Compare Source
v10.2.4Compare Source
v10.2.3Compare Source
v10.2.2Compare Source
v10.2.1Compare Source
v10.2.0Compare Source
v10.1.0Compare Source
v10.0.0Compare Source
v9.3.5Compare Source
v9.3.4Compare Source
v9.3.3Compare Source
nested extglob patterns.
v9.3.2Compare Source
v9.3.1Compare Source
v9.3.0Compare Source
v9.2.1Compare Source
v9.2.0Compare Source
v9.1.2Compare Source
v9.1.1Compare Source
v9.1.0Compare Source
v9.0.2Compare Source
v9.0.1Compare Source
v9.0.0Compare Source
v8.1.0Compare Source
v8.0.3Compare Source
v8.0.2Compare Source
v8.0.1Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.