turbo
7f353ca3 - fix: Confine prune patch paths (#13054)

Commit
140 days ago
fix: Confine prune patch paths (#13054) ## Why Patch paths from lockfile/package manager `patchedDependencies` are attacker-controlled repo input. `turbo prune` must not let those paths escape the repository when reading patches or escape the prune output when writing them. ## What Adds source and destination confinement checks for patch files copied by `prune`, including realpath checks for existing symlink paths and ancestors. Non-escaping normalized paths such as `patches/../patches/foo.patch` remain valid. ## How Added integration coverage for an escaping patch path and a non-escaping parent-dir path. Verified with: - `cargo fmt --package turborepo-lib --package turbo` - `cargo test -p turbo --test prune_test` Pre-push hooks also ran `format`, `check:toml`, and Rust checks successfully.
Author
Parents
Loading