Author: schulte
Date: Thu Jun 23 00:33:34 2016
New Revision: 1749800
URL: http://svn.apache.org/viewvc?rev=1749800&view=rev
Log:
[MSHARED-563] Directory traversal in org.apache.maven.shared.utils.Expand
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/Expand.java
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/Expand.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/Expand.java?rev=1749800&r1=1749799&r2=1749800&view=diff
==============================================================================
---
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/Expand.java
(original)
+++
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/Expand.java
Thu Jun 23 00:33:34 2016
@@ -170,6 +170,11 @@ class Expand
{
File targetFile = new File( destDir, entryName );
+ if ( !targetFile.getAbsolutePath().startsWith(
destDir.getAbsolutePath() ) )
+ {
+ throw new IOException( "Entry '" + entryName + "' outside the
target directory." );
+ }
+
// if overwrite is specified and the file type
// of the existing file does not match, then delete it
if ( overwrite && targetFile.exists() && targetFile.isDirectory() !=
isDirectory )