Description
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.
Remediation
References
https://github.com/joniles/mpxj/security/advisories/GHSA-jf2p-4gqj-849g
https://github.com/joniles/mpxj/commit/ae0af24345d79ad45705265d9927fe55e94a5721
Related Vulnerabilities
CVE-2019-1003064 Vulnerability in maven package org.jenkins-ci.plugins:aws-device-farm
CVE-2017-3586 Vulnerability in maven package mysql:mysql-connector-java
CVE-2018-12545 Vulnerability in maven package org.eclipse.jetty.http2:http2-common
CVE-2019-3868 Vulnerability in maven package org.keycloak:keycloak-services
CVE-2021-41183 Vulnerability in maven package org.webjars:jquery-ui