CVE-2022-41954: Temporary File Information Disclosure Vulnerability
Impact On Unix-like operating systems (not Windows or macos), MPXJ's use of File.createTempFile(..) results in temporary files being created with the permissions -rw-r--r--. This means that any other user on the system can read the contents of this file. When MPXJ is reading a type of schedule file which requires the creation of a temporary file or directory, a knowledgeable local user could locate these transient files while they are in use and would then be able to read the schedule being processed by MPXJ.
Patches The problem has been patched, MPXJ version 10.14.1 and later includes the necessary changes.
Workarounds Setting java.io.tmpdir to a directory to which only the user running the application has access will prevent other users from accessing these temporary files.
For more information If you have any questions or comments about this advisory Open an issue in https://github.com/joniles/mpxj
Other sources
MPXJ is an open source library to read and write project plans from a variety of file formats and databases. On Unix-like operating systems (not Windows or macos), MPXJ's use of File.createTempFile(..) results in temporary files being created with the permissions -rw-r--r--. This means that any other user on the system can read the contents of this file. When MPXJ is reading a schedule file which requires the creation of a temporary file or directory, a knowledgeable local user could locate these transient files while they are in use and would then be able to read the schedule being processed by MPXJ. The problem has been patched, MPXJ version 10.14.1 and later includes the necessary changes. Users unable to upgrade may set java.io.tmpdir to a directory to which only the user running the application has access will prevent other users from accessing these temporary files.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/mpxjto a version that resolves this vulnerability.Fixed in 10.14.1 - Upgrade
Upgrade
nuget/net.sf.mpxj-for-vbto a version that resolves this vulnerability.Fixed in 10.14.1 - Upgrade
Upgrade
nuget/net.sf.mpxj-for-csharpto a version that resolves this vulnerability.Fixed in 10.14.1 - Upgrade
Upgrade
nuget/net.sf.mpxjto a version that resolves this vulnerability.Fixed in 10.14.1 - Upgrade
Upgrade
maven/net.sf.mpxj:mpxjto a version that resolves this vulnerability.Fixed in 10.14.1 - Upgrade
Upgrade
mpxjto a version that resolves this vulnerability.Fixed in 10.14.1 - Configuration
Set java.io.tmpdir to a directory that only the running user can access, to prevent other users from reading MPXJ-created temporary files.
Java runtime java.io.tmpdir = a directory accessible only to the user running the application
Event History
Frequently Asked Questions
What is the severity of CVE-2022-41954?
The severity of CVE-2022-41954 is low with a CVSS score of 3.3.
How does CVE-2022-41954 impact Unix-like operating systems?
CVE-2022-41954 impacts Unix-like operating systems by creating temporary files with insecure permissions that can be read by any user on the system.
Which software versions are affected by CVE-2022-41954?
CVE-2022-41954 affects versions up to exclusive 10.14.1 of the MPXJ library.
How can I fix CVE-2022-41954?
To fix CVE-2022-41954, update the MPXJ library to version 10.14.1 or higher.
Where can I find more information about CVE-2022-41954?
You can find more information about CVE-2022-41954 on the GitHub security advisory page and the NVD vulnerability detail page.