Skip to content

Commit 29da34c

Browse files
JLLeitschuhTeamModernegnodet
authored
[MINVOKER-324] Temporary File Information Disclosure (#152)
This fixes temporary file information disclosure vulnerability due to the use of the vulnerable `File.createTempFile()` method. The vulnerability is fixed by using the `Files.createTempFile()` method which sets the correct posix permissions. Weakness: CWE-377: Insecure Temporary File Severity: Medium CVSSS: 5.5 Detection: CodeQL & OpenRewrite (https://public.moderne.io/recipes/org.openrewrite.java.security.SecureTempFileCreation) Reported-by: Jonathan Leitschuh <[email protected]> Bug-tracker: JLLeitschuh/security-research#18 Co-authored-by: Moderne <[email protected]> Co-authored-by: Guillaume Nodet <[email protected]>
1 parent 7024027 commit 29da34c

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1398,7 +1398,7 @@ private File mergeSettings(File interpolatedSettingsFile) throws MojoExecutionEx
13981398

13991399
private File writeMergedSettingsFile(Settings mergedSettings) throws IOException {
14001400
File mergedSettingsFile;
1401-
mergedSettingsFile = File.createTempFile("invoker-settings", ".xml");
1401+
mergedSettingsFile = Files.createTempFile("invoker-settings", ".xml").toFile();
14021402

14031403
SettingsXpp3Writer settingsWriter = new SettingsXpp3Writer();
14041404

src/test/java/org/apache/maven/plugins/invoker/InvokerPropertiesTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.maven.plugins.invoker;
2020

2121
import java.io.File;
22+
import java.nio.file.Files;
2223
import java.util.Arrays;
2324
import java.util.Collection;
2425
import java.util.Collections;
@@ -188,7 +189,7 @@ public void testConfigureRequestProject() throws Exception {
188189
Properties props = new Properties();
189190
InvokerProperties facade = new InvokerProperties(props);
190191

191-
File tempPom = File.createTempFile("maven-invoker-plugin-test", ".pom");
192+
File tempPom = Files.createTempFile("maven-invoker-plugin-test", ".pom").toFile();
192193
try {
193194
File tempDir = tempPom.getParentFile();
194195
when(request.getBaseDirectory()).thenReturn(tempDir);

0 commit comments

Comments
 (0)