Impact
Using a specially prepared ZIP file it is possible to overwrite any file that is writable by the application server user (e.g. the tomcat user). Depending on the configuration this can be limited to files of the OpenOlat user data directory, however, if not properly set up, the attack could also be used to overwrite application server config files, java code or even operating system files.
The attack could be used to corrupt or modify any OpenOlat file such as course structures, config files or temporary test data. Those attack would require in-depth knowledge of the installation and thus more theoretical.
If the app server configuration allows the execution of jsp files and the path to the context is known, it is also possible to execute java code.
If the app server runs with the same user that is used to deploy the OpenOlat code or has write permissions on the OpenOlat code files and the path to the context is know, code injection is possible.
The attack requires an OpenOlat user account to upload a ZIP file and trigger the unzip method. It can not be exploited by unregistered users.
Patches
The problem is fixed in version 15.3.18, 15.5.3 and 16.0. It is advised to upgrade to version 16.0.x
Workarounds
There are no known workarounds to fix this problem, an upgrade is necessary.
References
https://jira.openolat.org/browse/OO-5549 (only visible to members of the OpenOlat partner program)
For more information
If you have any questions or comments about this advisory:
Impact
Using a specially prepared ZIP file it is possible to overwrite any file that is writable by the application server user (e.g. the tomcat user). Depending on the configuration this can be limited to files of the OpenOlat user data directory, however, if not properly set up, the attack could also be used to overwrite application server config files, java code or even operating system files.
The attack could be used to corrupt or modify any OpenOlat file such as course structures, config files or temporary test data. Those attack would require in-depth knowledge of the installation and thus more theoretical.
If the app server configuration allows the execution of jsp files and the path to the context is known, it is also possible to execute java code.
If the app server runs with the same user that is used to deploy the OpenOlat code or has write permissions on the OpenOlat code files and the path to the context is know, code injection is possible.
The attack requires an OpenOlat user account to upload a ZIP file and trigger the unzip method. It can not be exploited by unregistered users.
Patches
The problem is fixed in version 15.3.18, 15.5.3 and 16.0. It is advised to upgrade to version 16.0.x
Workarounds
There are no known workarounds to fix this problem, an upgrade is necessary.
References
https://jira.openolat.org/browse/OO-5549 (only visible to members of the OpenOlat partner program)
For more information
If you have any questions or comments about this advisory: