From 7eb81b4863c75173051dd64192d664a729ac6c8d Mon Sep 17 00:00:00 2001 From: Jonathan Leitschuh Date: Tue, 4 Oct 2022 00:15:53 +0000 Subject: [PATCH] vuln-fix: Temporary Directory Hijacking or Information Disclosure This fixes either Temporary Directory Hijacking, or Temporary Directory Local Information Disclosure. Weakness: CWE-379: Creation of Temporary File in Directory with Insecure Permissions Severity: High CVSSS: 7.3 Detection: CodeQL & OpenRewrite (https://public.moderne.io/recipes/org.openrewrite.java.security.UseFilesCreateTempDirectory) Reported-by: Jonathan Leitschuh Signed-off-by: Jonathan Leitschuh Bug-tracker: https://github.com/JLLeitschuh/security-research/issues/10 Co-authored-by: Moderne --- .../taverna/scufl2/ucfpackage/impl/odfdom/pkg/TempDir.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/impl/odfdom/pkg/TempDir.java b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/impl/odfdom/pkg/TempDir.java index 7178aaaa..bad2e947 100644 --- a/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/impl/odfdom/pkg/TempDir.java +++ b/taverna-scufl2-ucfpackage/src/main/java/org/apache/taverna/scufl2/ucfpackage/impl/odfdom/pkg/TempDir.java @@ -28,6 +28,7 @@ import java.io.File; import java.io.IOException; +import java.nio.file.Files; class TempDir { /** @@ -40,11 +41,7 @@ class TempDir { */ static File newTempOdfDirectory(String prefix, File parentDir) throws IOException { - File tempFile = File.createTempFile(prefix, "", parentDir); - if (!tempFile.delete()) - throw new IOException(); - if (!tempFile.mkdir()) - throw new IOException(); + File tempFile = Files.createTempDirectory(parentDir.toPath(),prefix).toFile(); TempDirDeleter.getInstance().add(tempFile); return tempFile; }