GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix/batches: prevent command injection from repository paths by cbrnrd · Pull Request #1373 · sourcegraph/src-cli

Conversation

@cbrnrd

@cbrnrd cbrnrd commented Sep 8, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Problem

When a volume workspace copied extra repository files, it added repository-controlled paths directly to Docker mount arguments and a shell command. A crafted directory name could change the mount configuration and run commands inside the trusted workspace helper. Those commands could read files from the machine running src.

This fixes VULN-140.

Solution

Package the extra files in a temporary tar archive. Validate that every archive path is relative and clean, mount the archive at a fixed location, and extract it with fixed tar arguments. Repository paths are now treated only as data and are not interpreted by Docker or a shell.

Verification Evidence

  • go test ./internal/batches/...
  • Added a regression test with a repository path containing shell and Docker mount syntax.
  • Ran the volume workspace helper in Docker and confirmed that it extracted the crafted path as a normal file without running it as a command.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@cbrnrd
cbrnrd marked this pull request as ready for review September 8, 2026 15:35
@cbrnrd
cbrnrd requested a review from a team September 8, 2026 15:35
@DaedalusG DaedalusG mentioned this pull request Sep 8, 2026
fix/batches: prevent workspace path injection #1372
Merged
DaedalusG
DaedalusG approved these changes Sep 8, 2026
View reviewed changes
@cbrnrd
cbrnrd enabled auto-merge (squash) September 9, 2026 15:18
@cbrnrd
fix/batches: prevent command injection from repository paths
002924b
@cbrnrd
cbrnrd force-pushed the carterbrainerd-vuln-140-i-can-use-a-repository-path-to-execute-trusted-helper branch from 000b5b0 to 002924b Compare September 10, 2026 14:19
@cbrnrd
cbrnrd merged commit 8a793e3 into main Sep 10, 2026
8 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@cbrnrd
cbrnrd deleted the carterbrainerd-vuln-140-i-can-use-a-repository-path-to-execute-trusted-helper branch September 10, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@DaedalusG DaedalusG DaedalusG approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@cbrnrd @DaedalusG
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.