π‘οΈ Sentinel: [CRITICAL] Fix Path Traversal in Snapshot Command#19
π‘οΈ Sentinel: [CRITICAL] Fix Path Traversal in Snapshot Command#19bitcoiner-dev wants to merge 1 commit intomasterfrom
Conversation
π¨ Severity: CRITICAL π‘ Vulnerability: The snapshot name parameter was used directly in `Path::join` without validation, allowing a malicious user to overwrite or read files outside the designated snapshots directory using payloads like `../../../etc/passwd`. π― Impact: Local privilege escalation, arbitrary file overwrite, or sensitive data leakage (such as private keys or system files) depending on the context. π§ Fix: Added strict path validation (`validate_file_name`) to `src/utils.rs` allowing only alphanumeric characters, underscores, and dashes. Applied this to `Save` and `Restore` snapshot functions. Also fixed an insecure directory creation issue by using `create_secure_dir_all`. β Verification: Ensure the provided snapshot name is rejected if it contains malicious sequences. Run `cargo test` and verify expected behavior in save and restore actions. Co-authored-by: bitcoiner-dev <75873427+bitcoiner-dev@users.noreply.github.com>
|
π Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a π emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
π¨ Severity: CRITICAL
π‘ Vulnerability: The snapshot name parameter was used directly in
Path::joinwithout validation, allowing a malicious user to overwrite or read files outside the designated snapshots directory using payloads like../../../etc/passwd.π― Impact: Local privilege escalation, arbitrary file overwrite, or sensitive data leakage (such as private keys or system files) depending on the context.
π§ Fix: Added strict path validation (
validate_file_name) tosrc/utils.rsallowing only alphanumeric characters, underscores, and dashes. Applied this toSaveandRestoresnapshot functions. Also fixed an insecure directory creation issue by usingcreate_secure_dir_all.β Verification: Ensure the provided snapshot name is rejected if it contains malicious sequences. Run
cargo testand verify expected behavior in save and restore actions.PR created automatically by Jules for task 11666992611932909258 started by @bitcoiner-dev