Skip to content

Commit dfa928b

Browse files
JLLeitschuhTeamModernemtughan
committed
vuln-fix: Temporary File Information Disclosure
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> Co-authored-by: Michael Tughan <mtughan@gmail.com>
1 parent 76b94b1 commit dfa928b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/test/java/org/jenkinsci/plugins/scriptler/restapi/ScriptlerRestApiTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@
1212

1313
import java.io.File;
1414
import java.io.IOException;
15+
import java.nio.file.Files;
16+
import java.nio.file.Path;
1517
import java.util.ArrayList;
1618
import java.util.List;
1719

1820
import org.apache.commons.fileupload.FileItem;
19-
import org.apache.commons.io.FileUtils;
2021
import org.jenkinsci.plugins.scriptler.ScriptlerManagementHelper;
2122
import org.jenkinsci.plugins.scriptler.ScriptlerManagement;
2223
import org.jenkinsci.plugins.scriptler.config.Parameter;
@@ -51,9 +52,9 @@ public void setup() throws Exception {
5152
}
5253

5354
private void saveFile(ScriptlerManagementHelper helper, String scriptId, String scriptContent) throws Exception {
54-
File f = File.createTempFile(scriptId, "-temp");
55-
FileUtils.writeStringToFile(f, scriptContent);
56-
FileItem fi = new FileItemImpl(f);
55+
Path f = Files.createTempFile("script", "-temp");
56+
Files.writeString(f, scriptContent);
57+
FileItem fi = new FileItemImpl(f.toFile());
5758
helper.saveScript(fi, true, scriptId);
5859
}
5960

@@ -126,4 +127,4 @@ public void testUnknownScript() throws Exception {
126127
JenkinsRule.WebClient webClient = j.createWebClient();
127128
webClient.goTo("scriptler/runScript?id=unknown.groovy");
128129
}
129-
}
130+
}

0 commit comments

Comments
 (0)