diff --git a/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java b/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java index 85895665c3..43a9ed4c4c 100644 --- a/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java +++ b/framework/src/main/java/org/apache/felix/framework/util/SecureAction.java @@ -1718,7 +1718,8 @@ public String getCanonicalPath(File dataFile) throws IOException } else { - return dataFile.getCanonicalPath(); + // Sanitize the file path. Use an absolute path to be able to resolve special names (e.g. "..") + return dataFile.toPath().toAbsolutePath().normalize().toString(); } }