Se usi Nextcloud con il server Collabora integrato, controlla oggi stesso. CVE-2026-110447 è un'iniezione di comandi del sistema operativo nell'app Collabora Online - Built-in CODE Server (richdocumentscode). Non richiede login né azioni dell'utente, ha CVSS 4.0: 9,2 ed è sfruttata da settembre. La CISA l'ha inserita il 23 ottobre nell'elenco delle vulnerabilità note e sfruttate, con scadenza il 26 ottobre per le agenzie federali americane.
Chi è colpito
- Colpita: l'app
richdocumentscodein tutte le versioni precedenti alla 26.4.303, anche se l'app è disattivata. - Non colpiti: un server Collabora separato (Docker, pacchetti DEB/RPM), Nextcloud All-in-One e Nextcloud Office (
richdocuments) quando parla con un server Collabora separato. Le due app hanno nomi simili, quindi controlla quale hai davvero. - Nextcloud 29 e precedenti: l'ultima versione dell'app installabile lì è la 26.4.104, ed è vulnerabile. Bisogna rimuovere l'app o aggiornare Nextcloud.
Come funziona l'attacco, in breve
L'app ha uno script, proxy.php, che avvia il server Collabora incluso quando arriva una richiesta e nessuno è in ascolto. Nelle versioni vulnerabili il percorso della richiesta finiva dentro un comando di shell tra virgolette doppie. La shell espande lì $(...), quindi un comando nascosto nel percorso viene eseguito con l'utente del web server. L'attacco funziona mentre il server CODE locale è fermo, per esempio dopo un riavvio, un aggiornamento o un crash.
Gli attaccanti hanno messo nella cartella dell'app una web shell PHP di una riga e poi hanno cercato database di password, file di password manager e wallet di criptovalute. Il primo attacco registrato è del 10 settembre, un giorno prima della versione corretta. CVE e avviso sono arrivati solo il 14 ottobre, più di quattro settimane dopo la correzione. È la vera lezione: aspettare un avviso di sicurezza sarebbe stato troppo tardi.
Verifica in cinque minuti
cd /var/www/nextcloud
sudo -u www-data php occ app:list | grep -i richdocuments
sudo -u www-data php occ integrity:check-app richdocumentscode
find apps/richdocumentscode -name 'shx*.php'
find apps/richdocumentscode -name '*.php' -exec sha256sum {} + | grep 4b9fbd0663fbfd60
La prima riga mostra se hai richdocumentscode (il server integrato, vulnerabile) e in quale versione. La seconda lancia il controllo di integrità di Nextcloud sull'app. Le ultime due cercano le web shell segnalate finora: file chiamati shx….php e l'hash della shell di una riga.
Poi i log, almeno fino al 10 settembre (compresi quelli ruotati):
zgrep -hE 'richdocumentscode/proxy\.php' /var/log/nginx/access.log* \
| grep -E '\$\(|%24%28|IFS|base64|%2e%2e'
zgrep -hE '139\.28\.18\.122|89\.38\.98\.50' /var/log/nginx/access.log*
Ogni risultato del primo comando è una richiesta che tentava di iniettare qualcosa. I due indirizzi IP sono quelli indicati nei rapporti pubblici. I log vengono ruotati, quindi nessun risultato non prova che prima non ci sia stato un attacco.
Come risolvere
- Aggiornare:
sudo -u www-data php occ app:update richdocumentscode. Le versioni corrette sono 26.4.303, 26.4.402 e 26.4.502 (Nextcloud 30 e successivi). Alcuni amministratori hanno segnalato problemi di avvio con la 26.4.402 a metà ottobre e sono tornati alla 26.4.303. - Oppure rimuoverla se non usi il server integrato:
sudo -u www-data php occ app:remove richdocumentscode. Disattivarla non basta, lo dice esplicitamente Collabora. Per modificare documenti, un server Collabora separato è comunque la soluzione più pulita. - Un aggiornamento non elimina una web shell. Esegui i controlli qui sopra anche dopo l'aggiornamento, non solo prima.
Se trovi una web shell
Trattala come una compromissione. L'utente del web server può leggere config.php, quindi password del database, secret dell'istanza e credenziali salvate vanno considerate esposte. Il mio consiglio: isola il server, ripristina da un backup pulito se non sei sicuro di quanto sia andata avanti, cambia la password del database e i secret in config.php, e fai cambiare agli utenti password e password per le app. Nei rapporti non è stato osservato accesso root, ma non è una garanzia.
Qualche consiglio
- Rimuovi le app opzionali che non usi. Ogni app è superficie d'attacco, e questa avvia un proprio processo server.
- Un server Collabora separato o All-in-One tengono il server dei documenti lontano dai file di Nextcloud.
- Aggiorna le app con un piano, non quando compare un titolo. La correzione esisteva da più di un mese prima dell'avviso.
- Tieni un piccolo inventario: quali app Nextcloud girano dove. Così un giorno come oggi si risolve in cinque minuti.
Fonti: BleepingComputer, The Hacker News e eSecurityPlanet. Altri comandi Nextcloud nel cheat sheet occ. Per confronto: il mio articolo sull'aggiornamento urgente di PHP.