GitHub Advisoryadvisory · Maven, NuGet, PyPI
GHSA-jf2p-4gqj-849g Temporary File Information Disclosure vulnerability in MPXJ
LOW
Official page ↗
- Aliases
- CVE-2022-41954
- Ecosystem
- Maven, NuGet, PyPI
- Packages
- net.sf.mpxj:mpxj, net.sf.mpxj, net.sf.mpxj-for-csharp, net.sf.mpxj-for-vb, mpxj
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N
- Weaknesses
- CWE-200, CWE-668
- Reviewed
- 2022-11-28
Affected packages
• Maven net.sf.mpxj:mpxj: < 10.14.1 → fixed in 10.14.1
• NuGet net.sf.mpxj: < 10.14.1 → fixed in 10.14.1
• NuGet net.sf.mpxj-for-csharp: < 10.14.1 → fixed in 10.14.1
• NuGet net.sf.mpxj-for-vb: < 10.14.1 → fixed in 10.14.1
• PyPI mpxj: < 10.14.1 → fixed in 10.14.1
Description
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
Related
Alias · CVE (1)
- CVE-2022-41954 MPXJ is an open source library to read and write project plans from a variety of file formats and databases. vulnerability
References
- https://github.com/joniles/mpxj/security/advisories/GHSA-jf2p-4gqj-849g web
- https://nvd.nist.gov/vuln/detail/CVE-2022-41954 advisory
- https://github.com/joniles/mpxj/commit/287ad0234213c52b0638565e14bd9cf3ed44cedd web
- https://github.com/joniles/mpxj/commit/ae0af24345d79ad45705265d9927fe55e94a5721 web
- https://github.com/joniles/mpxj package
- https://github.com/pypa/advisory-database/tree/main/vulns/mpxj/PYSEC-2022-42996.yaml web