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
Describe the refactoring action
Fix the "Fix Zip Slip Vulnerability" in test code.
Expected benefit
No longer show up on security scans. Since this potential security issue only appears in the unit test code, it does not really affect any users. Cleaning this up is mostly cosmetic as it seems quite unlikely that somebody would exploit it to attack a developer's machine.
Issue #18: Fix Zip Slip Vulnerability in test code
This change does one of two things. This change either
1. Inserts a guard to protect against Zip Slip.
OR
2. Replaces `dir.getCanonicalPath().startsWith(parent.getCanonicalPath())`, which is vulnerable to partial path traversal attacks, with the more secure `dir.getCanonicalFile().toPath().startsWith(parent.getCanonicalFile().toPath())`.
For number 2, consider `"/usr/outnot".startsWith("/usr/out")`.
The check is bypassed although `/outnot` is not under the `/out` directory.
It's important to understand that the terminating slash may be removed when using various `String` representations of the `File` object.
For example, on Linux, `println(new File("/var"))` will print `/var`, but `println(new File("/var", "/")` will print `/var/`;
however, `println(new File("/var", "/").getCanonicalPath())` will print `/var`.
Weakness: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Severity: High
CVSSS: 7.4
Detection: CodeQL (https://codeql.github.com/codeql-query-help/java/java-zipslip/) & OpenRewrite (https://public.moderne.io/recipes/org.openrewrite.java.security.ZipSlip)
Reported-by: Jonathan Leitschuh <[email protected]>
Bug-tracker: JLLeitschuh/security-research#16
Co-authored-by: Moderne <[email protected]>
Co-authored-by: Richard Eckart de Castilho <[email protected]>
Describe the refactoring action
Fix the "Fix Zip Slip Vulnerability" in test code.
Expected benefit
No longer show up on security scans. Since this potential security issue only appears in the unit test code, it does not really affect any users. Cleaning this up is mostly cosmetic as it seems quite unlikely that somebody would exploit it to attack a developer's machine.
See: #10
The text was updated successfully, but these errors were encountered: