Security Fix: Prevent Zip Slip Vulnerability in unzip() Method #1441
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit fixes a critical Zip Slip vulnerability in the unzip() method that could allow malicious zip files to write files outside the intended extraction directory, potentially overwriting critical system files.
Vulnerability Details
The previous implementation directly used zip entry names without validation, allowing malicious zip files with entries like '../../../etc/passwd' or '........\windows\system32\config\sam' to escape the extraction directory and overwrite system files.
Security Improvements
Technical Changes
Impact
Fixes: CWE-22 (Path Traversal), CVE-2018-1002207 pattern
Priority: High - Critical security vulnerability
References:
JATOS/JATOS@2b42519
https://cwe.mitre.org/data/definitions/22.html