{"id":22083,"date":"2026-10-23T05:56:32","date_gmt":"2026-10-22T21:56:32","guid":{"rendered":"https:\/\/synopower.club\/?p=22083"},"modified":"2026-10-23T05:56:32","modified_gmt":"2026-10-22T21:56:32","slug":"synology-php2shell-emergency-patch","status":"publish","type":"post","link":"https:\/\/synopower.club\/it\/synology-php2shell-emergency-patch\/","title":{"rendered":"PHP2Shell su Synology: come abbiamo applicato le patch a sei siti in un solo giorno"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>PHP2Shell<\/strong> CVE-2026-109618 e CVE-2026-109619 sono due vulnerabilit\u00e0 critiche del motore PHP che consentono l&#039;esecuzione di codice remoto senza autenticazione. I dettagli sono trapelati il 20 ottobre 2026, un giorno prima della divulgazione coordinata, e il progetto PHP ha rilasciato versioni di emergenza il 21 ottobre. Poich\u00e9 il bug risiede nell&#039;interprete e non in alcuna applicazione, l&#039;applicazione di patch a WordPress, Joomla o MediaWiki non ha alcun effetto. L&#039;unica vera soluzione \u00e8 una nuova build di PHP. Gestiamo sei siti WordPress pubblici su hardware Synology e, a causa di PHP2Shell, ognuno di essi ha dovuto essere ricostruito nella stessa settimana. Questa guida illustra in cosa consiste effettivamente il bug, come applicarlo su DSM tramite Package Center, come gestirlo quando il sito viene eseguito in un container e il difficile confronto tra la versione rilasciata da Synology e quella realizzata finora dagli altri produttori di NAS.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Punto SynoPower Club:<\/strong>I nostri sei siti sono stati aggiornati entro un giorno lavorativo dalla pubblicazione dell&#039;avviso di sicurezza PHP2Shell, e ci\u00f2 non \u00e8 stato possibile grazie a imprese eroiche, bens\u00ec grazie alla pubblicazione da parte di Synology di pacchetti corretti nella stessa data dell&#039;avviso. Synology-SA-26:14 \u00e8 stato rilasciato il 22 ottobre con stato &quot;Risolto&quot; e una tabella completa delle versioni corrette fino a PHP 7.4. Lo stesso giorno, QNAP ha pubblicato QSA-26-18 con stato &quot;In fase di correzione&quot; e la dicitura &quot;Da annunciare&quot; in ogni cella relativa alla versione corretta, e ASUSTOR ha risposto eliminando la versione legacy di PHP da App Central anzich\u00e9 applicarvi una patch. Se ospitate un sito web pubblico su un NAS, questa lacuna non \u00e8 un dettaglio di marketing. \u00c8 la differenza tra aggiornare un pacchetto e dover rimuovere il vostro sito da internet in attesa dell&#039;aggiornamento.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"what-is-php2shell-and-why-it-is-different\" class=\"wp-block-heading\">Cos&#039;\u00e8 PHP2Shell e perch\u00e9 \u00e8 diverso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP2Shell non \u00e8 un singolo bug, ma un insieme di errori correlati di sicurezza della memoria nel modo in cui PHP gestisce la pulizia dopo una richiesta che ha esaurito la memoria. PHP utilizza <code>longjmp()<\/code> per sfuggire a errori fatali, inclusi quelli di memoria insufficiente, e quel salto salta il codice di pulizia che normalmente riporterebbe il motore a uno stato noto. Parte di quello stato \u00e8 globale e sopravvive alla richiesta successiva gestita dallo stesso processo worker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-109618 riguarda la vulnerabilit\u00e0 di memoria insufficiente. Una richiesta HTTP appositamente creata esaurisce il limite di memoria mentre i dati della richiesta sono solo parzialmente inizializzati, quindi la routine di pulizia attraversa strutture che non sono mai state completate. CVE-2026-109619 riguarda la vulnerabilit\u00e0 di tipo use-after-free: lo stato globale che punta alla memoria di richiesta liberata pu\u00f2 essere letto da una richiesta successiva sullo stesso worker, ed \u00e8 cos\u00ec che il bug si trasforma in esecuzione di codice o divulgazione di memoria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Due caratteristiche rendono PHP2Shell peggiore dei soliti avvisi PHP. In primo luogo, \u00e8 pre-autenticazione. Entrambe le vulnerabilit\u00e0 si attivano prima che venga eseguita qualsiasi autenticazione a livello di applicazione, quindi un sistema di login, un plugin per la gestione degli abbonamenti o una password di amministratore non proteggono nulla. In secondo luogo, la variante di divulgazione della memoria espone la memoria del processo worker, e un processo worker PHP su un sito WordPress contiene credenziali di database, token API e chiavi di pagamento. Una lettura riuscita non ha bisogno di raggiungere l&#039;esecuzione del codice per rovinarti la settimana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le due vulnerabilit\u00e0 CVE di PHP2Shell sono state valutate con un punteggio CVSS v4.0 di 9.2 dal team di sicurezza di PHP. Synology, nel proprio avviso di sicurezza, ha assegnato loro un punteggio di 9.8 su CVSS v3.1. Scale diverse, stessa conclusione. Le segnalazioni di exploit sono contrastanti: watchTowr afferma di aver rilevato tentativi contro la sua rete honeypot, mentre Bitdefender non ha segnalato nulla nella sua telemetria al momento della stesura di questo articolo e QNAP dichiara di non aver ricevuto segnalazioni di exploit specificamente mirati ai prodotti QNAP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"eager\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp\" alt=\"Synology-SA-26:14 Avviso di PHP2Shell che mostra lo stato Risolto e la tabella della versione corretta\" class=\"wp-image-22078\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1000x609.webp 1000w\"  fetchpriority=\"high\"\/><figcaption class=\"wp-element-caption\">Synology-SA-26:14, pubblicato il 22 ottobre 2026 alle 19:45 UTC+8 con stato Risolto.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"php2shell-vs-a-normal-wordpress-exploit\" class=\"wp-block-heading\">PHP2Shell contro un normale exploit di WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La maggior parte delle minacce che colpiscono un sito WordPress pubblico deriva da vulnerabilit\u00e0 dei plugin. Lo schema \u00e8 ben noto: un plugin rilascia un endpoint REST non funzionante, uno scanner lo rileva, si aggiorna il plugin e la falla si chiude. PHP2Shell rompe completamente questo schema, rendendo superfluo e inutile l&#039;incessante verifica dei plugin.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Aspetto<\/th><th>CVE tipico del plugin<\/th><th>PHP2Shell<\/th><\/tr><\/thead><tbody><tr><td>Dove vive l&#039;insetto<\/td><td>Codice dell&#039;applicazione (plugin o tema)<\/td><td>L&#039;interprete PHP stesso<\/td><\/tr><tr><td>Chi pu\u00f2 attivarlo?<\/td><td>Spesso richiede un ruolo di abbonato o di amministratore.<\/td><td>Nessuno. Pre-autenticazione, prima che venga eseguita la logica dell&#039;app.<\/td><\/tr><tr><td>L&#039;aggiornamento di WordPress \u00e8 utile?<\/td><td>Di solito s\u00ec<\/td><td>No. Gli aggiornamenti del core e dei plugin sono irrilevanti.<\/td><\/tr><tr><td>Un WAF lo impedisce<\/td><td>Di solito, una volta che esiste una regola<\/td><td>In parte. Le regole della forma della richiesta non riescono a trovare il percorso OOM.<\/td><\/tr><tr><td>Cosa lo risolve effettivamente?<\/td><td>Aggiornamento del plugin<\/td><td>Una nuova build di PHP, nient&#039;altro.<\/td><\/tr><tr><td>Raggio d&#039;esplosione<\/td><td>Un sito, una funzionalit\u00e0<\/td><td>Tutti i siti PHP presenti sul server, tutti in una volta<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Quell&#039;ultima riga \u00e8 il motivo per cui PHP2Shell si \u00e8 trasformato in un&#039;intera giornata di lavoro anzich\u00e9 in un pomeriggio. Un singolo pacchetto PHP condiviso su un NAS pu\u00f2 trovarsi dietro una dozzina di host virtuali di Web Station, e una singola immagine container pu\u00f2 essere la base per diversi siti. L&#039;applicazione delle patch non \u00e8 per sito, ma per runtime, e bisogna elencare i runtime prima di poter affermare che qualcosa \u00e8 stato fatto.<\/p>\n\n\n\n<h2 id=\"how-to-tell-if-your-nas-is-exposed\" class=\"wp-block-heading\">Come capire se il tuo NAS \u00e8 esposto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Valutare la propria esposizione a PHP2Shell inizia distinguendo due questioni distinte. Il sistema contiene una build PHP vulnerabile? E questa build \u00e8 accessibile da Internet? Synology fa esplicitamente questa distinzione: DSM include un componente PHP interno utilizzato dal sistema operativo e Synology afferma che non ha moduli accessibili dall&#039;esterno e quindi nessuna superficie di attacco esposta. Il rischio assegnato a tale componente \u00e8 minimo e la patch \u00e8 prevista per una versione successiva di DSM, in modo che le scansioni di vulnerabilit\u00e0 smettano di segnalarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I pacchetti rilevanti per PHP2Shell sono quelli che forniscono PHP al web. Synology elenca Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station e WordPress. Se hai installato e hai accesso a uno qualsiasi di questi pacchetti, rientri nell&#039;ambito di applicazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Controlla direttamente le versioni anzich\u00e9 affidarti a una dashboard. In Package Center, i pacchetti PHP installati mostrano la loro versione nel riquadro e l&#039;avviso di aggiornamento indica la build di destinazione. Da una shell, chiedi direttamente al runtime:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Synology Pacchetto PHP (regola il percorso in base alla versione in esecuzione) \/volume1\/@appstore\/PHP8.2\/usr\/local\/bin\/php -v # Un sito containerizzato docker exec php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il motivo per insistere su <code>php -v<\/code> Quando si effettua un audit per PHP2Shell, il problema \u00e8 che ogni segnale \u00e8 falso. L&#039;output di compilazione pu\u00f2 segnalare un esito positivo pur riutilizzando un livello memorizzato nella cache, una dashboard pu\u00f2 mostrare un pacchetto come aggiornato quando il worker in esecuzione non lo \u00e8, e un&#039;intestazione di risposta HTTP pu\u00f2 essere rimossa da una CDN prima ancora che tu la veda. Due dei nostri sei siti sono stati segnalati come funzionanti dalle rispettive schermate di amministrazione, pur utilizzando ancora un interprete non aggiornato.<\/p>\n\n\n\n<h2 id=\"patching-php2shell-on-synology-in-4-steps\" class=\"wp-block-heading\">Applicazione di patch a PHP2Shell su Synology in 4 passaggi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per un sito Web Station su DSM, l&#039;intera soluzione per PHP2Shell consiste in un aggiornamento del Centro pacchetti. Synology pubblica aggiornamenti di sicurezza PHP per DSM 7.4, 7.3 e 7.2 e, dopo l&#039;aggiornamento del pacchetto PHP, i pacchetti dipendenti si riavviano automaticamente, risolvendo cos\u00ec il problema. Mail Station rappresenta un&#039;eccezione documentata e richiede un aggiornamento manuale.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps\">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Consulta l&#039;avviso<\/h3>\n<div class=\"rank-math-step-content\"><p>Apri il file Synology-SA-26:14 e prendi nota della versione corretta per ogni ramo di PHP che hai installato. Le versioni di destinazione sono 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 e 8.4.27-0051. PHP 7.3 non ha una correzione perch\u00e9 \u00e8 fuori supporto.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Aggiornamento tramite Centro pacchi<\/h3>\n<div class=\"rank-math-step-content\"><p>In DSM, apri Centro pacchetti e controlla la sezione Installati. Ogni pacchetto PHP vulnerabile mostrer\u00e0 &quot;Aggiornamento disponibile&quot; con la nuova versione online. Fai clic su &quot;Aggiorna&quot; per ogni ramo PHP elencato e aggiorna Synology Calendar e Mail Station, se li hai installati.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Lascia che i dipendenti riavviino<\/h3>\n<div class=\"rank-math-step-content\"><p>I pacchetti che dipendono da PHP si riavviano automaticamente al termine dell&#039;aggiornamento del pacchetto PHP, ed \u00e8 proprio questo riavvio a rendere effettiva la correzione. Mail Station rappresenta un&#039;eccezione e deve essere aggiornato manualmente tramite il Centro pacchetti.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Verificare l&#039;interprete in esecuzione<\/h3>\n<div class=\"rank-math-step-content\"><p>Non fidarti della dashboard. Esegui il comando `php -v` sul percorso del pacchetto o all&#039;interno del container e verifica che il numero di build corrisponda all&#039;avviso. Quindi controlla che ogni host virtuale di Web Station sia associato a un profilo che hai effettivamente aggiornato.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"803\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp\" alt=\"Il Centro pacchetti Synology mostra che \u00e8 disponibile l&#039;aggiornamento a PHP 8.2 versione 8.2.35-0171\" class=\"wp-image-22079\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-300x172.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1024x587.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-768x441.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-600x344.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-400x229.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1000x574.webp 1000w\" \/><figcaption class=\"wp-element-caption\">Il Centro pacchetti offre PHP 8.2.35-0171, la build indicata nell&#039;avviso.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Lo screenshot qui sopra proviene da una delle nostre macchine, scattato la mattina successiva all&#039;avviso di PHP2Shell. Si noti che il pannello &quot;Novit\u00e0&quot; indica direttamente la versione upstream, consentendo di confrontare il suffisso di build Synology con la release di PHP senza dover fare supposizioni. Synology Calendar compare nello stesso elenco di aggiornamenti alla versione 3.0.4-21435, che \u00e8 esattamente la versione indicata nell&#039;avviso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"793\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp\" alt=\"Synology Package Center conferma le impostazioni della finestra di dialogo per l&#039;aggiornamento di PHP da 8.2 a 8.2.35-0171\" class=\"wp-image-22080\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-300x170.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1024x580.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-768x435.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-600x340.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-400x227.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1000x566.webp 1000w\" \/><figcaption class=\"wp-element-caption\">La finestra di dialogo di aggiornamento denominata PHP 8.2.35-0171, pubblicata da Synology Inc.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore comune di PHP2Shell che vale la pena segnalare agli utenti di Web Station: una macchina DSM pu\u00f2 avere installati contemporaneamente diversi rami di PHP e ogni host virtuale \u00e8 associato a un profilo. L&#039;aggiornamento del profilo predefinito non risolve il problema di un sito associato a un ramo diverso. Elenca prima i profili, aggiornali tutti e poi verifica l&#039;associazione di ogni sito nella sezione Servizi Web.<\/p>\n\n\n\n<h2 id=\"which-dsm-packages-are-affected\" class=\"wp-block-heading\">Quali pacchetti DSM sono interessati?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La dichiarazione relativa all&#039;aggiornamento Synology di PHP2Shell \u00e8 pi\u00f9 circoscritta di quanto il panico abbia lasciato intendere. Sono interessati solo i sistemi che eseguono determinati pacchetti dipendenti da PHP, e Synology Drive non \u00e8 esplicitamente tra questi. IDrive \u00e8 presente nell&#039;elenco, ma \u00e8 un software di terze parti.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visibile sul web e con la massima priorit\u00e0.<\/strong> Web Station, WordPress, Joomla, MediaWiki, vtigerCRM, KodExplorer e phpMyAdmin. Questi forniscono PHP a chiunque riesca ad accedervi.<\/li>\n\n\n\n<li><strong>Posta e calendario.<\/strong> Mail Station richiede un aggiornamento manuale dopo il pacchetto PHP. Il calendario Synology ha una propria build fissa alla versione 3.0.4-21435.<\/li>\n\n\n\n<li><strong>La componente interna del DSM.<\/strong> Presente ma non raggiungibile dall&#039;esterno, la patch \u00e8 stata rimandata a una successiva versione di DSM, il rischio \u00e8 stato valutato minimo da Synology.<\/li>\n\n\n\n<li><strong>I contenitori non sono coperti.<\/strong> Il runtime PHP all&#039;interno di Container Manager \u00e8 a tua completa disposizione per essere aggiornato. Nessun aggiornamento di pacchetto lo modificher\u00e0, ed \u00e8 proprio questa la ragione pi\u00f9 comune per cui un utente NAS pensa di aver finito quando in realt\u00e0 non \u00e8 cos\u00ec.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se si utilizza ancora una versione di DSM precedente alla 7.2, Synology consiglia di disabilitare temporaneamente i pacchetti interessati fino a quando non sar\u00e0 disponibile una versione corretta. La versione 7.2 di DSM \u00e8 indicata come non pi\u00f9 supportata, nonostante abbia ricevuto questi aggiornamenti PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il caso pi\u00f9 critico per PHP2Shell riguarda PHP 7.3 e versioni precedenti. La versione Synology non risolver\u00e0 il problema con la 7.3 perch\u00e9 il ramo \u00e8 obsoleto e il progetto upstream non ha pubblicato nulla per la 7.3 e le versioni precedenti. Alcune distribuzioni Linux hanno incluso backport per vecchi rami di sviluppo, ma un pacchetto PHP per la versione Synology non \u00e8 un pacchetto di distribuzione. Se un sito richiede la versione 7.3 o 5.6 per funzionare, non verr\u00e0 rilasciata alcuna patch e le opzioni pi\u00f9 realistiche sono spostare il sito su un ramo supportato, proteggerlo con un WAF (Web Application Firewall) o rimuoverlo da internet.<\/p>\n\n\n\n<h2 id=\"how-container-site-owners-handle-php2shell\" class=\"wp-block-heading\">Come i proprietari di siti container gestiscono PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cinque dei nostri sei siti utilizzano WordPress in Docker anzich\u00e9 Web Station, ed \u00e8 qui che PHP2Shell diventa interessante, perch\u00e9 Package Center non pu\u00f2 esservi d&#039;aiuto. L&#039;ambiente di runtime \u00e8 quello contenuto nell&#039;immagine, e ricostruire un&#039;immagine non \u00e8 la stessa cosa che aggiornarla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il primo errore di PHP2Shell che abbiamo riscontrato, e quello che pi\u00f9 probabilmente incapper\u00e0 in altri casi, \u00e8 che la ricostruzione di un&#039;immagine personalizzata riutilizza il livello base memorizzato nella cache. Un pin non bloccato <code>DA<\/code> Il tag non significa &quot;nuovo&quot;. Una delle nostre immagini era stata ricostruita quattro giorni prima e conteneva ancora una build PHP di luglio 2025, con oltre un anno di aggiornamenti di sicurezza obsoleti, perch\u00e9 nulla aveva costretto Docker a scaricare nuovamente la base.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Sbagliato: riutilizza silenziosamente qualsiasi livello base sia memorizzato nella cache locale docker build -t mysite . # Corretto: scarica sempre di nuovo l&#039;immagine base docker build --pull -t mysite . # Quindi avvia solo il servizio che intendi, senza avviare i servizi inattivi docker compose up -d --no-deps wordpress # E verifica ci\u00f2 che conta davvero docker exec wordpress php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il secondo errore di PHP2Shell \u00e8 pi\u00f9 grave perch\u00e9 segnala un successo. Inoltrando l&#039;output di compilazione tramite <code>coda<\/code> nasconde un errore di compilazione, poich\u00e9 il codice di uscita di una pipeline appartiene all&#039;ultimo comando in essa e <code>imposta -e<\/code> non viene mai eseguito. Il passaggio di composizione ricrea quindi il container dalla vecchia immagine, stampa Avviato e ti allontani da un sito non patchato che sembra appena distribuito. Controlla il risultato della build da solo e verifica con <code>php -v<\/code> dopo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Due piccole note. Etichettate la vecchia immagine prima di ricostruirla, perch\u00e9 un&#039;immagine mantiene la sua etichetta e offre un punto di ripristino gratuito, molto pi\u00f9 economico di uno snapshot. Inoltre, non aspettatevi che un aggiornamento dell&#039;immagine aggiorni l&#039;applicazione: il punto di ingresso ufficiale delle immagini di WordPress copia i file principali solo quando la directory principale \u00e8 vuota, quindi ricreare un container su un&#039;immagine pi\u00f9 recente lascia l&#039;installazione esistente esattamente dov&#039;era. Abbiamo verificato questo su una copia di staging prima di passare alla produzione e la versione di WordPress non \u00e8 cambiata.<\/p>\n\n\n\n<h2 id=\"why-disabling-upload-progress-only-covers-half\" class=\"wp-block-heading\">Perch\u00e9 disabilitare session.upload_progress copre solo met\u00e0 del problema<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La mitigazione PHP2Shell che circola per le macchine che non possono essere patchate \u00e8 impostare <code>session.upload_progress.enabled = 0<\/code>, e su DSM che si trova in Web Station sotto Impostazioni linguaggio script, nella scheda Core del profilo PHP. Vale la pena farlo. Non \u00e8 una soluzione definitiva e il divario \u00e8 importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il percorso di caricamento della sessione \u00e8 solo uno dei modi per accedere alla vulnerabilit\u00e0. La variante di divulgazione della memoria viene raggiunta tramite la normale gestione delle richieste multipart e non richiede affatto la funzionalit\u00e0 di sessione, quindi disattivandola si lascia aperta quella via. Il progetto PHP ha dichiarato esplicitamente che non esistono soluzioni complete e che l&#039;aggiornamento \u00e8 l&#039;unica soluzione sicura. Imunify360 segnala che attualmente nessuna regola blocca il percorso di accesso alla memoria insufficiente di CVE-2026-109618, ed Elastic osserva che l&#039;impostazione di caricamento chiude i percorsi di sessione confermati, ma non tutte le varianti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vedrai anche <code>limite_memoria = -1<\/code> \u00c8 stato suggerito, sulla base della logica che il bug si verifica a causa di una condizione di memoria insufficiente. Consideratelo un compromesso, non una vittoria. Rimuovere il limite su un server web pubblico trasforma una modalit\u00e0 di errore in un&#039;altra, e su un NAS con un budget di memoria condivisa induce il pool di processi a saturare l&#039;intera macchina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il filtro edge \u00e8 il livello PHP2Shell che apporta un reale valore aggiunto, perch\u00e9 intercetta il traffico decrittografato, cosa che il router non pu\u00f2 fare. Cloudflare ha implementato la protezione tramite regole gestite per PHP2Shell, AWS ha aggiunto la copertura per CVE-2026-109619 nella versione 2.3 del suo gruppo di regole gestite per PHP e Azure Front Door ha rilasciato la regola 99006001, disabilitata per impostazione predefinita. Su GitHub sono presenti regole della community per Snort e Suricata, ma al momento della stesura di questo testo non erano ancora stati pubblicati set di regole ufficiali per Snort e Emerging Threats, quindi una funzionalit\u00e0 di prevenzione delle intrusioni del NAS non sar\u00e0 di aiuto in questo caso. In ogni caso, non pu\u00f2 leggere all&#039;interno di TLS.<\/p>\n\n\n\n<h2 id=\"which-nas-vendor-actually-shipped-a-fix\" class=\"wp-block-heading\">Quale produttore di NAS ha effettivamente spedito una soluzione?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Questa \u00e8 la parte della storia di PHP2Shell che dovrebbe influenzare la vostra decisione di acquisto. PHP upstream \u00e8 stato rilasciato il 21 ottobre. Ecco la situazione dei quattro principali produttori di NAS per consumatori e professionisti il giorno successivo, secondo quanto riportato dalle loro pagine informative e non da articoli di stampa.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Fornitore<\/th><th>Consultivo<\/th><th>Stato<\/th><th>Versioni corrette pubblicate<\/th><\/tr><\/thead><tbody><tr><td><strong>Synology<\/strong><\/td><td>Synology-SA-26:14, 22 ottobre 2026<\/td><td><strong>Risolto<\/strong><\/td><td>S\u00ec. Tutte le versioni da PHP 7.4 a 8.4, oltre a Calendar e Mail Station.<\/td><\/tr><tr><td>QNAP<\/td><td>QSA-26-18, 22 ottobre 2026<\/td><td>Fissaggio<\/td><td>No. Su ogni riga c&#039;\u00e8 scritto &quot;Da annunciare&quot;<\/td><\/tr><tr><td>ASUSTOR<\/td><td>Dismissione di Legacy PHP, 22 ottobre 2026<\/td><td>Pensione, non una toppa<\/td><td>No. PHP 7, 7.3, 7.4 e 8.1 rimossi da App Central<\/td><\/tr><tr><td>UGREEN<\/td><td>Nessun risultato trovato<\/td><td>Sconosciuto<\/td><td>Nessun avviso rilevato per UGOS Pro<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Synology ha pubblicato una tabella completa delle versioni di PHP2Shell lo stesso giorno dell&#039;avviso, contrassegnandolo come Risolto. Un proprietario di DSM che lo ha letto ha potuto eseguire un&#039;azione nel pomeriggio: aprire il Centro pacchetti, fare clic su Aggiorna e verificare. Questo \u00e8 l&#039;intero percorso di risoluzione, ed \u00e8 per questo che le nostre macchine Web Station sono state aggiornate in pochi minuti anzich\u00e9 in giorni.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp\" alt=\"L&#039;avviso QNAP QSA-26-18 mostra lo stato &quot;In fase di correzione&quot; e &quot;Da annunciare&quot; in ogni riga della versione corretta.\" class=\"wp-image-22081\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1000x609.webp 1000w\" \/><figcaption class=\"wp-element-caption\">QNAP QSA-26-18: stato in fase di risoluzione, e ogni versione corretta sar\u00e0 annunciata in seguito.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">QNAP ha pubblicato un avviso nella stessa data, elencando una lunga serie di prodotti interessati, tra cui QTS 6.1.0, QTS 5.2.11 e versioni precedenti, QuTS hero h6.1.0, h6.0.x e h5.2.11 e versioni precedenti, QuTScloud c5.2.9 e versioni precedenti, Note Station 3, QNE ADRA, QVR Surveillance su modelli ARM32 e TVR OS. Ognuno di essi mostra lo stato &quot;In fase di correzione&quot; senza una versione di correzione. Poich\u00e9 il runtime PHP fa parte dei componenti web di QTS, non esiste un pacchetto da aggiornare, quindi la correzione deve essere implementata tramite firmware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel frattempo, QNAP offre alle vittime di PHP2Shell un elenco di misure di mitigazione, che vale la pena leggere attentamente per via di ci\u00f2 che richiede: disabilitare il port forwarding del router e UPnP, rimuovere la pubblicazione dei servizi myQNAPcloud, spostare l&#039;accesso remoto dietro una VPN, limitare le porte di gestione alle sottoreti attendibili, interrompere le applicazioni basate su PHP non necessarie, disabilitare il server web integrato se non utilizzato e controllare QuLog Center per individuare eventuali segni di compromissione. Si tratta di consigli validi per un dispositivo non aggiornato. Per chiunque ospiti un sito web pubblico, \u00e8 anche una richiesta di disattivare il sito.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"814\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp\" alt=\"Annuncio di ASUSTOR relativo al ritiro delle versioni legacy di PHP, datato 22\/10\/2026, che prevede la rimozione di PHP 7, 7.3, 7.4 e 8.1.\" class=\"wp-image-22082\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-300x174.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1024x595.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-768x447.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-600x349.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-400x233.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1000x581.webp 1000w\" \/><figcaption class=\"wp-element-caption\">ASUSTOR ha risposto a PHP2Shell abbandonando la vecchia versione di PHP anzich\u00e9 aggiornarla con delle patch.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">ASUSTOR ha intrapreso una terza strada. Il suo avviso, datato 22 ottobre e intitolato &quot;Annuncio di ritiro di PHP legacy&quot;, rimuove PHP 7, PHP 7.3, PHP 7.4 e PHP 8.1 da App Central con effetto immediato, raccomanda di eseguire il backup dei dati importanti e invita gli utenti a utilizzare d&#039;ora in poi solo PHP 8.3 o 8.4. La motivazione \u00e8 difendibile, poich\u00e9 gli sviluppatori originali rilasciano patch solo per la versione 8.2 e successive. L&#039;effetto per chi utilizza una vecchia applicazione PHP \u00e8 che il runtime scompare dallo store anzich\u00e9 essere corretto, e ASUSTOR non dichiara di aver rilasciato una build corretta di PHP 8.3 o 8.4. Si noti il contrasto con Synology, che ha pubblicato una build corretta di PHP 7.4, la 7.4.33-0131, proprio per gli utenti a cui ASUSTOR sta chiedendo di migrare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per UGREEN non siamo riusciti a trovare alcun avviso di sicurezza relativo a PHP2Shell per UGOS Pro. L&#039;assenza di una dichiarazione pubblica non \u00e8 di per s\u00e9 prova che un prodotto sia vulnerabile, e UGOS Pro potrebbe semplicemente non includere un runtime PHP per il web. Tuttavia, se sei il proprietario, il silenzio non \u00e8 una risposta su cui basare le tue azioni, e rappresenta di per s\u00e9 una forma di esposizione al rischio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Niente di tutto ci\u00f2 rende Synology perfetto. Non risolver\u00e0 i problemi di PHP 7.3, segnala DSM 7.2 come non pi\u00f9 supportato e il suo componente PHP interno \u00e8 ancora in fase di pianificazione anzich\u00e9 essere corretto. Il punto \u00e8 pi\u00f9 specifico e utile di una questione di brand: il giorno in cui un bug di esecuzione di codice remoto senza autenticazione \u00e8 comparso nel motore PHP, un fornitore ha trasformato la correzione in un pulsante nel Centro pacchetti, mentre gli altri l&#039;hanno trasformata in una lunga attesa.<\/p>\n\n\n\n<h2 id=\"where-to-find-more-official-resources\" class=\"wp-block-heading\">Dove trovare ulteriori risorse ufficiali<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al momento della stesura di questo articolo, PHP2Shell ha solo due giorni di vita e la situazione \u00e8 in continua evoluzione, quindi \u00e8 consigliabile consultare fonti primarie piuttosto che riassunti. Non sono ancora disponibili video ufficiali da parte dei fornitori, pertanto l&#039;elenco seguente si basa su documentazione e non su tutorial.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14<\/a> Questa \u00e8 la tabella delle versioni autorevoli. Controllala di nuovo prima di applicare la patch, perch\u00e9 gli avvisi vengono rivisti.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">La dichiarazione Synology PSIRT<\/a> Elenca i pacchetti interessati e spiega il componente interno di DSM e l&#039;eccezione relativa a Mail Station.<\/li>\n\n\n\n<li>Gli avvisi GitHub upstream GHSA-w8hw-w9fx-j79w e GHSA-6wmf-4rv5-p3rp sono collegati all&#039;avviso Synology e descrivono il comportamento del motore piuttosto che il packaging del fornitore.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a> \u00c8 qui che apparir\u00e0 la versione fissa del firmware se si utilizza QTS o QuTS hero. \u00c8 la pagina da tenere d&#039;occhio, non un articolo di notizie.<\/li>\n\n\n\n<li>Il tuo Centro pacchetti \u00e8 l&#039;ultima parola su ci\u00f2 che \u00e8 installato. L&#039;avviso ti dice la build di destinazione, il riquadro ti dice cosa hai effettivamente e solo <code>php -v<\/code> ti dice cosa \u00e8 in esecuzione.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per informazioni di base sull&#039;esecuzione di siti pubblici su macchine virtuali Synology, consultare la nostra guida su <a href=\"https:\/\/synopower.club\/it\/synology-vdsm-docker-migration\/\">spostamento di uno stack Docker tra guest VDSM<\/a> copre le abitudini di snapshot e rollback che hanno reso possibile la sopravvivenza a questa emergenza.<\/p>\n\n\n\n<h2 id=\"php2shell-limits-and-security-notes\" class=\"wp-block-heading\">Limiti e note di sicurezza di PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Applicare patch a PHP2Shell \u00e8 semplice su DSM, ma ingannevole altrove, quindi \u00e8 bene chiarire alcuni limiti prima di considerare il lavoro concluso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&#039;aggiornamento del pacchetto PHP2Shell non equivale a un audit del sito. L&#039;aggiornamento di PHP chiude la falla da quel momento in poi, ma se il server era raggiungibile da Internet tra il 20 e il 22 ottobre, lo era mentre era pubblico un exploit funzionante. Controlla i log per individuare un volume di richieste POST inaspettato, cerca file apparsi in directory scrivibili e ruota le credenziali che un operatore PHP potrebbe aver utilizzato. La variante di divulgazione della memoria rende la rotazione delle credenziali una precauzione ragionevole piuttosto che una paranoia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La verifica di PHP2Shell deve essere indirizzata all&#039;interprete in esecuzione. Dashboard, log di build e intestazioni di risposta ci hanno deluso almeno una volta durante questo round. Una CDN pu\u00f2 rimuovere l&#039;intestazione che avrebbe indicato la versione, una build pu\u00f2 segnalare il successo riutilizzando un livello memorizzato nella cache e un riquadro del pacchetto pu\u00f2 mostrare la versione corrente mentre un vecchio worker \u00e8 ancora in esecuzione. Solo <code>php -v<\/code> all&#039;interno della cosa che gestisce le richieste lo risolve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I container non sono coperti da alcun avviso di sicurezza PHP2Shell fornito dai produttori. Vale la pena ripeterlo perch\u00e9 \u00e8 il pi\u00f9 comune falso senso di sicurezza su un NAS. Se il tuo sito \u00e8 in esecuzione su Container Manager, il fatto che Package Center segnali che tutto \u00e8 aggiornato non ti dice nulla sul tuo sito. Lo stesso vale per qualsiasi applicazione di terze parti che includa il proprio runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le soluzioni di mitigazione basate sulla configurazione sono per definizione parziali. Disabilitare l&#039;avanzamento del caricamento della sessione \u00e8 utile, la rimozione del limite di memoria sostituisce un rischio con un altro e la funzionalit\u00e0 di prevenzione delle intrusioni di un router non pu\u00f2 ispezionare il traffico TLS che termina altrove. Considerate tutto ci\u00f2 come tempo guadagnato mentre predisponete una patch definitiva, non come un sostituto di essa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le versioni di runtime obsolete non hanno alcun percorso PHP2Shell. PHP 7.3 e versioni precedenti non hanno ricevuto alcun aggiornamento n\u00e9 dal progetto principale n\u00e9 da Synology. Se un sito necessita effettivamente di una versione non supportata, la scelta da fare \u00e8 tra migrazione, isolamento o rimozione da Internet. Non esiste una quarta opzione, e fingere il contrario significa che un sito legacy diventa la porta d&#039;accesso a tutto il resto sulla stessa infrastruttura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Infine, \u00e8 consigliabile prestare attenzione agli avvisi piuttosto che al ciclo di notizie. Synology ha contrassegnato SA-26:14 come risolto e lo ha revisionato una volta entro sei minuti dalla pubblicazione. QNAP ha affermato che QSA-26-18 verr\u00e0 aggiornato non appena saranno disponibili versioni corrette. Entrambe le pagine subiranno modifiche e i numeri di versione in questo articolo sono quelli pubblicati il 22 ottobre 2026.<\/p>\n\n\n\n<h2 id=\"references\" class=\"wp-block-heading\">Riferimenti<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14 Avviso di sicurezza PHP2Shell<\/a>, Pubblicato il 22 ottobre 2026, stato Risolto, con versioni corrette per PHP dalla 7.4 alla 8.4.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">Dichiarazione di Synology sulle vulnerabilit\u00e0 di PHP2Shell<\/a>, la nota PSIRT elenca i pacchetti interessati e la copertura DSM.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a>, Stato: In fase di risoluzione, prodotti interessati elencati con versioni corrette. Da annunciare.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.asustor.com\/product\/status_detail?id=14\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Annuncio del ritiro di ASUSTOR Legacy PHP<\/a>, rimuovendo PHP 7, 7.3, 7.4 e 8.1 da App Central.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/10\/21\/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Help Net Security sulle versioni upstream di PHP2Shell<\/a>, che copre PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35 e i backport solo sorgente per i rami pi\u00f9 vecchi.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Domande frequenti<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Il mio NAS Synology \u00e8 vulnerabile a PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Solo se esegue un pacchetto dipendente da PHP che \u00e8 raggiungibile. Synology elenca Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station e WordPress. Il componente PHP interno in DSM \u00e8 presente, ma Synology afferma che non presenta una superficie di attacco esposta e valuta il rischio come minimo.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Come si applica una patch a PHP2Shell su DSM?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Apri il Centro pacchetti, vai su Installati e aggiorna tutti i pacchetti PHP per cui \u00e8 disponibile un aggiornamento. Le versioni di destinazione sono 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 e 8.4.27-0051. I pacchetti dipendenti si riavvieranno automaticamente al termine dell&#039;aggiornamento, ad eccezione di Mail Station che richiede un aggiornamento manuale.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">L&#039;aggiornamento di WordPress risolve il problema?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>No. Il bug risiede nel motore PHP, non in WordPress, quindi gli aggiornamenti del core, del tema e dei plugin non cambiano nulla. L&#039;unica soluzione \u00e8 una nuova build di PHP. Questo \u00e8 il malinteso pi\u00f9 comune riguardo a questo avviso.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">PHP 7.4 \u00e8 davvero stato patchato su Synology?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>S\u00ec. Synology ha pubblicato la versione 7.4.33-0131 anche se PHP upstream ha rilasciato solo un backport del codice sorgente senza una release numerata per quel ramo. PHP 7.3 \u00e8 diverso: Synology afferma che non verr\u00e0 fornita alcuna correzione perch\u00e9 la versione ha raggiunto la fine del ciclo di vita.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">PHP2Shell influisce sul funzionamento del mio sito in Container Manager?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Nessun aggiornamento di pacchetto lo modifica. Devi ricostruire l&#039;immagine con `docker build \u2013pull` in modo che il livello base venga scaricato nuovamente, avviare il servizio con `up -d \u2013no-deps` e quindi confermare con `php -v` all&#039;interno del container. L&#039;output della build che indica successo non \u00e8 una prova.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Disabilitando session.upload_progress sono al sicuro?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Chiude un percorso, non tutti. La variante di divulgazione della memoria utilizza la normale gestione multipart e non necessita della funzionalit\u00e0 di sessione. Il progetto PHP ha affermato che non esistono soluzioni complete e che l&#039;aggiornamento \u00e8 l&#039;unica soluzione sicura.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Il sistema di prevenzione delle minacce del mio router pu\u00f2 bloccare PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Non in modo significativo. Si tratta di un motore di firma che non pu\u00f2 leggere all&#039;interno di TLS, il traffico tra un proxy inverso e un&#039;origine sulla stessa sottorete non lo raggiunge mai e, al momento della stesura di questo documento, i set di regole ufficiali di Snort e Emerging Threats non avevano pubblicato nulla per queste CVE.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">QNAP e ASUSTOR hanno risolto i problemi di PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Non a partire dal 22 ottobre 2026. L&#039;avviso QNAP QSA-26-18 ha lo stato &quot;Risoluzione in corso&quot; con ogni versione corretta indicata come &quot;Da annunciare&quot;, e ASUSTOR ha risposto rimuovendo il PHP legacy da App Central anzich\u00e9 pubblicare una build patchata. Synology-SA-26:14 \u00e8 stato contrassegnato come &quot;Risolto&quot; lo stesso giorno con una tabella completa delle versioni.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>PHP2Shell is the name the industry settled on for CVE-2026-109618 and CVE-2026-109619, a pair of critical flaws in the PHP engine itself that allow unauthenticated remote code execution. Details leaked on 20 October 2026, a day before the coordinated disclosure, and the PHP project shipped emergency releases on 21 October. Because the bug lives in [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":22085,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_xspeed_no_cache":false,"_xspeed_expiry_hours":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-others"],"_links":{"self":[{"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/posts\/22083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/comments?post=22083"}],"version-history":[{"count":1,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/posts\/22083\/revisions"}],"predecessor-version":[{"id":22084,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/posts\/22083\/revisions\/22084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/media\/22085"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/media?parent=22083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/categories?post=22083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synopower.club\/it\/wp-json\/wp\/v2\/tags?post=22083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}