Skip to content

Commit

Permalink
vuln-fix: Temporary File Information Disclosure
Browse files Browse the repository at this point in the history
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 <Jonathan.Leitschuh@gmail.com>
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com>

Bug-tracker: JLLeitschuh/security-research#18


Co-authored-by: Moderne <team@moderne.io>
  • Loading branch information
JLLeitschuh and TeamModerne committed Nov 18, 2022
1 parent 46fc8d9 commit b83a81a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.List;

import org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
Expand Down Expand Up @@ -89,7 +90,7 @@ public void executeGoals( File workingDirectory, List<String> goals, ReleaseEnvi
// Have to serialize to a file as if Maven is embedded, there may not actually be a settings.xml on disk
try
{
settingsFile = File.createTempFile( "release-settings", ".xml" );
settingsFile = Files.createTempFile( "release-settings", ".xml" ).toFile();
SettingsXpp3Writer writer = getSettingsWriter();

try ( FileWriter fileWriter = new FileWriter( settingsFile ) )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -89,7 +90,7 @@ public void executeGoals( File workingDirectory, List<String> goals, ReleaseEnvi
// Have to serialize to a file as if Maven is embedded, there may not actually be a settings.xml on disk
try
{
settingsFile = File.createTempFile( "release-settings", ".xml" );
settingsFile = Files.createTempFile( "release-settings", ".xml" ).toFile();
SettingsXpp3Writer writer = getSettingsWriter();

try ( FileWriter fileWriter = new FileWriter( settingsFile ) )
Expand Down

0 comments on commit b83a81a

Please sign in to comment.