You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sergio velderrain edited this page Nov 9, 2026
·
1 revision
REQ-026: Source-checkout stage rejects a checkoutPath that escapes the project root
Requirement
The native pipeline's optional secondary source-checkout stage shall reject a checkoutPath that escapes the project's own checkout root.
Rationale
Prevents a maliciously or accidentally misconfigured sourceCheckouts entry from writing outside the intended project directory.
Fit Criterion
Invoke-PipelineSourceCheckoutStage rejects a rooted path, a path containing .. segments, a path traversing a symlink/reparse-point ancestor, or a path that already exists at the resolved destination -- throwing in each case rather than silently normalizing or overwriting.
Verification
Code review of internal/Pipeline.Stages.ps1's Invoke-PipelineSourceCheckoutStage function.