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.
MPXJ es una librería de código abierto para leer y escribir planes de proyectos desde una variedad de formatos de archivos y bases de datos. En sistemas operativos tipo Unix (no Windows o Macos), el uso de MPXJ de `File.createTempFile(..)` da como resultado la creación de archivos temporales con los permisos `-rw-r--r--`. Esto significa que cualquier otro usuario del sistema puede leer el contenido de este archivo. Cuando MPXJ lee un archivo de programación que requiere la creación de un archivo o directorio temporal, un usuario local con conocimientos podría localizar estos archivos transitorios mientras están en uso y luego podría leer la programación que está procesando MPXJ. El problema ha sido parcheado, MPXJ versión 10.14.1 y posteriores incluye los cambios necesarios. Los usuarios que no puedan actualizar pueden configurar `java.io.tmpdir` en un directorio al que solo tenga acceso el usuario que ejecuta la aplicación, lo que evitará que otros usuarios accedan a estos archivos temporales.