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-2016-0762 Vulnerability in maven package org.apache.tomcat.embed:tomcat-embed-core
CVE-2016-8751 Vulnerability in maven package org.apache.ranger:ranger
CVE-2019-10395 Vulnerability in maven package org.jenkins-ci.plugins:build-environment
CVE-2022-45385 Vulnerability in maven package org.jenkins-ci.plugins:dockerhub-notification