Jenkins temporary uploaded file created with insecure permissions
Low severity
GitHub Reviewed
Published
Sep 20, 2023
to the GitHub Advisory Database
•
Updated Nov 7, 2023
Package
Affected versions
>= 2.50, < 2.414.2
>= 2.415, < 2.424
Patched versions
2.414.2
2.424
Description
Published by the National Vulnerability Database
Sep 20, 2023
Published to the GitHub Advisory Database
Sep 20, 2023
Reviewed
Sep 21, 2023
Last updated
Nov 7, 2023
In Jenkins 2.423 and earlier, LTS 2.414.1 and earlier, uploaded files processed via the Stapler web framework and the Jenkins API
MultipartFormDataParser
create temporary files in the system temporary directory with the default permissions for newly created files.If these permissions are overly permissive, attackers with access to the system temporary directory may be able to read and write the file before it is used.
This vulnerability only affects operating systems using a shared temporary directory for all users (typically Linux). Additionally, the default permissions for newly created files generally only allow attackers to read the temporary file, but not write to it.
Jenkins 2.424, LTS 2.414.2 creates the temporary files in a subdirectory with more restrictive permissions.
As a workaround, you can change your default temporary-file directory using the Java system property
java.io.tmpdir
, if you’re concerned about this issue but unable to immediately update Jenkins.References