Mitigate Zip Slip exlpoit
This commit is contained in:
parent
5624f3f010
commit
c968e94b2c
1 changed files with 9 additions and 3 deletions
|
@ -35,6 +35,7 @@ import java.util.zip.ZipOutputStream;
|
|||
*/
|
||||
public final class ZipUtils {
|
||||
|
||||
// TODO: Maybe migrate to org.apache.commons.compress.archivers.examples.Expander?
|
||||
/**
|
||||
* Unzip files to path.
|
||||
*
|
||||
|
@ -67,6 +68,11 @@ public final class ZipUtils {
|
|||
String fileName = destinationDir + File.separator + entry.getName();
|
||||
File f = new File(fileName);
|
||||
|
||||
if (!f.getCanonicalPath().startsWith(destinationDir)) {
|
||||
System.out.println("Zip Slip exploit detected. Skipping entry " + entry.getName());
|
||||
continue;
|
||||
}
|
||||
|
||||
File parent = f.getParentFile();
|
||||
if (!parent.exists()) {
|
||||
parent.mkdirs();
|
||||
|
|
Loading…
Reference in a new issue