🛡️ Sentinel: [HIGH] Fix Zip Slip vulnerability in batch ZIP generation - #345
🛡️ Sentinel: [HIGH] Fix Zip Slip vulnerability in batch ZIP generation#345seonghobae wants to merge 3 commits into
Conversation
|
👋 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. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
@opencode-agent @cwl-noema-review Rebuild this Draft from exact protected current |
|
Superseded by #371. This old-base Draft handles only one backslash traversal example and does not define a complete cross-platform filename or ZIP-member boundary. The replacement issue covers all upload/result/archive call sites, Windows drive/UNC/device and trailing-dot semantics, Unicode/case collisions, deterministic duplicate naming, bounded extraction tests, 100% coverage/docstrings, and CSAP/SOC 2 evidence. Closing without merge avoids treating a partial security patch as complete remediation. |
Understood. The request has been superseded and this work is now obsolete. Stopping work on this task. |
Acknowledged. Closing this out as obsolete since it has been superseded by a complete cross-platform fix in #371. |
🚨 Severity: HIGH
💡 Vulnerability: 사용자가 백슬래시(
\)를 포함한 조작된 파일 이름(예:..\..\etc\passwd)으로 파일을 업로드할 때, POSIX 시스템의Path.name이 백슬래시를 경로 구분자로 인식하지 않아 그대로 유지되며, 그 결과 다운로드되는 ZIP 아카이브에 악의적인 경로(Zip Slip)가 포함됩니다.🎯 Impact: 사용자가 다운로드된 ZIP 파일을 Windows 시스템에서 추출할 때 의도하지 않은 디렉토리 경로(예: 시스템 폴더)에 파일이 덮어써져 보안 피해를 입을 수 있습니다.
🔧 Fix: 파일 이름을 추출하기 전에 백슬래시(
\)를 슬래시(/)로 변환하여Path().name이 올바르게 파일의 기저 이름(basename)만을 추출하도록 수정했습니다.✅ Verification:
tests/test_saas_web.py내의 단위 테스트(test_shrink_batch_sanitizes_windows_path_traversal)를 통해 검증되었습니다.PR created automatically by Jules for task 14064353898408349512 started by @seonghobae