Il 10 marzo 2025 è stata resa nota una grave vulnerabilità presente in alcune versioni del web-server Tomcat, sviluppato da Apache Software Foundation.
Questa vulnerabilità è stata denominata CVE-2025-24813 e le versioni di Tomcat colpite sono:
- 9.x, dalla versione 9.0.0-M1 alla 9.0.98
- 10.x, dalla versione 10.1.0-M1 alla 10.1.34
- 11.x, dalla versione 11.0.0-M1 alla 11.0.2
Twproject, quando installato tramite il file eseguibile scaricabile dal sito, utilizza Apache Tomcat nella sua versione 9.0.46, dunque potenzialmente affetta dal problema.
INDICE
In cosa consiste la vulnerabilità CVE-2025-24813
Tale vulnerabilità consiste in una Remote Code Execution (RCE), abbinata ad una Information disclosure.
Ciò significa che un potenziale utente malintenzionato sarebbe in grado di eseguire un codice arbitrario e dunque manomettere il sistema interessato.
Come indicato nella pagina delle vulnerabilità, questa vulnerabilità è pericolosa e sfruttabile per un attacco, solo nel caso in cui si verifichino cinque diverse condizioni.
La principale tra queste condizioni è che la DefaultServlet di Tomcat riporti “writes enabled for the default servlet (disabled by default)”: in altre parole la scrittura per la servlet deve essere abilitata esplicitamente, poiché di default essa è disabilitata.
Anche nell’installer standard di Twproject è presente la disabilitazione di default, e dunque in questo caso il pericolo non sussiste.
Cosa c’è da sapere per gli utenti di Twproject
Come abbiamo visto, per chi abbia installato Twproject senza aver applicato alcun cambiamento ai file di configurazione non vi è alcun pericolo.
Diverso è il discorso per chi avesse installato Twproject utilizzando un proprio Apache Tomcat di una delle versioni coinvolte nella vulnerabilità.
Per accertarsi quindi di non avere esposto il proprio server ad un attacco è buona pratica seguire quanto indicato di seguito.
1. Identificare il file
La DefaultServlet è implementata nella classe org.apache.catalina.servlets.DefaultServlet ed è utilizzata per servire file statici o fornire il directory listing.
La gestione delle sue proprietà è delegata al file web.xml, presente nella cartella conf di Tomcat (all’interno della quale si trovano tutti i file di configurazione).
2. Verificare la configurazione
La configurazione predefinita della DefaultServlet è la seguente:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Il parametro che abilita la possibilità di scrittura sul server è “readonly” con valore “false”.
E dunque una configurazione che esponga il server ad attacchi malevoli dovrebbe essere la seguente:
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
3. Intervenire se necessario
Qualora dunque il parametro sia stato specificato ed il suo valore sia “false” è indispensabile impostarlo a “true”, per disabilitare la scrittura della DefaultServlet.
In alternativa è possibile aggiornare Apache Tomcat ad una versione diversa da quelle sopra elencate.
Se invece il parametro non è presente nel file non c’è alcun problema: conta il valore di default!
N.B.: potrebbe esservi più di un file web.xml, a seconda dell’architettura del server, ed è dunque bene controllarli tutti!
Conclusioni
Speriamo di aver fornito tutte le informazioni utili per tranquillizzare i nostri utenti e istruirli al meglio in caso fosse necessario intervenire.
Se hai bisogno di maggiore supporto, non esitare a contattarci tramite i nostri canali.
Per approfondire l’argomento:
https://tomcat.apache.org/security-9.html