Security Patch - May 2025
A new vulnerability was uncovered in the Apache Tomcat web application server, tracked under the following reference: CVE-2025-24813. It has a critical common vulnerability score (CVSS = 9.8) and a very high exploit prediction score (EPSS = 0.93672). Customers asked us whether their Jahia installations are affected. All Jahia installations come with a conf/web.xml file, where the readonly parameter of the Tomcat default servlet is not set. This means that the servlet is read-only by default and that PUT requests are declined by that servlet, so we expect that most Jahia environments are safe.
Affected versions
- All versions of Jahia running with a Tomcat version lower than 9.0.99 on which the Tomcat configuration (
conf/web.xml) has been modified by settingreadonlyfor the default servlet tofalse - Jahia Cloud instances are not affected, the setting previously mentioned not being modified.
- Jahia Docker images from Jahia 8.2.1.0 onwards and "new" Jahia on-premise installations of Jahia 8.2.1.0 use Tomcat version 9.0.99, which is not affected by CVE-2025-24813, even if the
readonlyparameter of the Tomcat default servlet is set tofalse.
Please be aware that upgrading Jahia with our fix-appliers on on-premise installations is never automatically upgrading Tomcat. Therefore all our Jahia upgrade instructions contain this notice:
This security advisory emphasises again that this notice needs to be taken seriously, because several older Tomcat 9 based CVEs are really exploitable on default Jahia installations. Please check the Tomcat version used on your installation and upgrade to at least 9.0.99 with the following instructions.
Addressing Tomcat vulnerabilities
To address the current and older vulnerabilities you need to upgrade the Tomcat version to a non-vulnerable version, which currently is at least 9.0.104.
To upgrade your Tomcat version, perform the following steps:
- Download the Tomcat version 9.0.104
- Shutdown Jahia
- Store the old Tomcat version as fallback somewhere else
- In your installation, backup or rename the existing Tomcat folder
- Unzip the new Tomcat
- Put back your ROOT or context-folder in the webapps-folder of Tomcat
- Copy the DB libraries listed below from
/tomcat/lib(from the backup)
derby-<version>.jar
mysql-connector-java-<version>.jar
mariadb-java-client-<version>.jar
mssql-jdbc-<version>.jar
ojdbc8-<version>.jar
orai18n-<version>.jar
postgresql-<version>.jar - Copy and paste
/tomcat/conf/server.xmlfrom the backup - and add the parametersecretRequired="false"to the AJP Connector (if not already present) - Copy and paste
/tomcat/conf/catalina.propertiesfrom the backup - Copy and paste
/tomcat/bin/setenv.*(bat or sh) from the backup - and if not already present setorg.apache.catalina.connector.RECYCLE_FACADES=falseto disable the recycling of facade objects for requests (more details here) - Start your environment
Mitigation
As an alternative to upgrading Apache Tomcat and if it is a requirement in your project that readonly of the default servlet is set to false, you can do the following :
- Disable Partial
PUTSupport: If partialPUTfunctionality is not required, disable it by setting theallowPartialPutparameter tofalse.