Skip to content

fix/batches: prevent executor environment leakage to steps - #1374

Merged
cbrnrd merged 1 commit into
mainfrom
carterbrainerd-vuln-141-i-can-use-a-reserved-executor-bearer-from-a-normal-v2-batch
Sep 9, 2026
Merged

fix/batches: prevent executor environment leakage to steps#1374
cbrnrd merged 1 commit into
mainfrom
carterbrainerd-vuln-141-i-can-use-a-reserved-executor-bearer-from-a-normal-v2-batch

Conversation

@cbrnrd

@cbrnrd cbrnrd commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Problem

Batch steps can request environment variables by name. The executor passed its full process environment into this resolver, so a step could request reserved SRC_EXECUTOR_* values. These values include executor control credentials that must not be available inside an ordinary batch step.

This fixes VULN-141.

Solution

Filter the reserved SRC_EXECUTOR_* namespace from the outer environment before resolving step variables. The filter is applied at the step execution boundary, so it covers every caller and also protects future variables in the reserved namespace. Normal environment variables and explicit step values continue to work.

Verification Evidence

  • Added a regression test showing that normal outer variables still resolve.
  • Added coverage showing that current and future SRC_EXECUTOR_* outer variables resolve to empty values.
  • go test ./internal/batches/...
  • go test ./cmd/src

@cbrnrd
cbrnrd marked this pull request as ready for review September 8, 2026 15:47
@cbrnrd
cbrnrd requested a review from a team September 8, 2026 15:47

cbrnrd commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • Sep 9, 1:27 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Sep 9, 1:28 PM UTC: Graphite rebased this pull request as part of a merge.
  • Sep 9, 1:35 PM UTC: Graphite rebased this pull request as part of a merge.
  • Sep 9, 1:42 PM UTC: @cbrnrd merged this pull request with Graphite.

@cbrnrd
cbrnrd force-pushed the carterbrainerd-vuln-141-i-can-use-a-reserved-executor-bearer-from-a-normal-v2-batch branch from 657dd83 to f9d1767 Compare September 9, 2026 13:27
@cbrnrd
cbrnrd force-pushed the carterbrainerd-vuln-141-i-can-use-a-reserved-executor-bearer-from-a-normal-v2-batch branch from f9d1767 to ef9c84a Compare September 9, 2026 13:34
@cbrnrd
cbrnrd merged commit ed0828d into main Sep 9, 2026
8 checks passed
@cbrnrd
cbrnrd deleted the carterbrainerd-vuln-141-i-can-use-a-reserved-executor-bearer-from-a-normal-v2-batch branch September 9, 2026 13:42
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