Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
When compressed files are uncompressed, the files can be created outside the current working directory in EvaluatorShim (L295).
[https://github.com/apache/reef/blob/561a336f2f0dda8f4a67a96179750a76167b038f/lang/java/reef-runtime-azbatch/src/main/java/org/apache/reef/runtime/azbatch/evaluator/EvaluatorShim.java#L295
]
We will enforce that uncompressed files in EvaluatorShim are within the current working directory. If not, an exception will be raised.
markus.weimer suggested the following fix.
final Path reefPath = this.reefFileNames.getREEFFolder().toPath();
...
final Path destination = new File(this.reefFileNames.getREEFFolder(),
zipEntry.getName()).toPath();
if(!destination.startsWith(reefPath))
Files.copy(inputStream, destination);
Assigning this issue to gyewonlee.