PHP2Shell: la falla di PHP che mette a rischio il tuo PrestaShop

Il tuo negozio online · 7 min di lettura · Aggiornato il 21/10/2026

PHP2Shell: la falla di PHP che mette a rischio il tuo PrestaShop

Il 20 ottobre è scattato un avviso che ha tenuto col fiato sospeso mezzo internet: due gravi vulnerabilità PHP, il linguaggio su cui gira il tuo negozio PrestaShop, che permettono a uno sconosciuto di prendere il controllo del server senza utente né password. Le chiamano PHP2Shell. PHP ha pubblicato la patch il 21 ottobre, e quello che devi fare dipende da una cosa sola: la versione di PHP su cui gira il tuo negozio.

Te lo spieghiamo senza tecnicismi: cos'è successo, come capire se ti riguarda, cosa fare oggi e cosa fare se il tuo negozio è su una versione che non riceve la patch.

Che cos'è PHP2Shell e perché è così grave?

PHP è il motore che sta sotto PrestaShop, WordPress, Magento e la maggior parte dei negozi e dei siti del mondo. Le due vulnerabilità, registrate come CVE-2026-109618 e CVE-2026-109619, hanno un punteggio di gravità di 9,2 su 10. In pratica, chi sa sfruttarle può eseguire quello che vuole sul tuo server: installare una backdoor, rubare i dati dei tuoi clienti o infilare nel tuo negozio un falso captcha come quello di ClickFix.

Quello che la rende diversa da altri avvisi è che l'attacco non passa né da PrestaShop né da un modulo. Avviene in PHP, prima ancora che il tuo negozio legga la visita. Non importa quanto sia curato: se il PHP del server è vulnerabile, lo è anche il negozio.

E le informazioni sono trapelate prima del tempo. La società di sicurezza Sansec racconta che insieme all'avviso è comparso lo screenshot di uno strumento d'attacco già pronto, e si aspettava attacchi di massa appena fosse uscita la patch. Secondo la stessa fonte, Cloudflare aveva già visto i primi tentativi e ha messo delle regole per bloccarli.

Il mio negozio PrestaShop è a rischio?

Molto probabilmente sì. Nel suo bollettino di sicurezza, PHP considera a rischio qualsiasi installazione che serva pagine web, in qualunque modo il server la esegua, e il rischio più alto sui server Apache con mod_php, dove esiste già un attacco dimostrato che funziona senza utente né password. Sansec parla di qualsiasi server con PHP 5.4 o successivo, cioè in pratica qualsiasi negozio PrestaShop attivo oggi.

La domanda che conta davvero è un'altra: ti arriva la patch? PHP ha corretto le versioni 8.2.35, 8.3.36, 8.4.27 e 8.5.12. PHP 8.1 e precedenti non ricevono più aggiornamenti ufficiali: per 7.4, 8.0 e 8.1 PHP ha rilasciato una correzione minima da compilare a mano, e alcuni fornitori di supporto esteso la includono nei loro pacchetti. E ogni versione di PrestaShop funziona solo con certe versioni di PHP:

  • PrestaShop 1.6: funziona da PHP 5.6 a 7.1. Nessuna patch.
  • PrestaShop 1.7: al massimo PHP 7.4. Nessun aggiornamento ufficiale; solo sulla 7.4 si può applicare la correzione minima compilata a mano.
  • PrestaShop 8: al massimo PHP 8.1. Nessun aggiornamento ufficiale; anche la correzione minima per la 8.1 va compilata a mano.
  • PrestaShop 9: funziona da PHP 8.1 a 8.4. Con PHP 8.2 o superiore riceve l'aggiornamento; se è su 8.1, basta aggiornare PHP.

In altre parole: se il tuo negozio non è PrestaShop 9, non c'è un aggiornamento ufficiale da installare, perché la tua versione di PrestaShop non può funzionare con un PHP che ce l'abbia. Resta la correzione minima, che è un lavoro da tecnico e che comunque non ti coprirà dalla prossima falla.

Come capire che versione hai

Entra nel back office del negozio e apri Parametri Avanzati → Informazioni. Lì vedi la versione di PrestaShop e, poco più sotto, quella di PHP. Con questi due numeri sai già in quale caso sei.

Cosa fare oggi, in ordine

  1. Controlla le tue due versioni, PrestaShop e PHP, come ti abbiamo spiegato sopra.
  2. Fai un backup completo, file e database, e conservalo fuori dal server. Se succede qualcosa, è l'unica cosa che ti permette di tornare indietro.
  3. Se il tuo negozio è PrestaShop 9, chiedi al tuo hosting di aggiornare PHP alla 8.2.35, 8.3.36, 8.4.27 o 8.5.12 o successive, oppure fallo tu dal pannello dell'hosting se ti lascia scegliere la versione. Se sei su PHP 8.1, approfittane per passare a 8.3 o 8.4.
  4. Se usi Cloudflare, verifica che la nuvola del tuo dominio sia arancione: così il traffico passa dalle sue regole prima di arrivare al tuo server. Serve a poco se l'indirizzo del tuo server è noto e accetta visite da chiunque, quindi chiedi al tuo tecnico di limitarlo al solo traffico di Cloudflare.
  5. Se il tuo negozio è 1.6, 1.7 o 8, chiedi al tuo hosting se applica la correzione alla tua versione di PHP, chiedi al tuo tecnico le misure d'emergenza che trovi qui sotto e metti una data all'aggiornamento a PrestaShop 9. È l'unico modo per tornare ad avere un PHP che riceve patch.

Mettere il negozio in manutenzione dal back office stavolta non ti protegge: PHP legge la visita prima che PrestaShop decida di mostrare la pagina di manutenzione.

E se il mio negozio non può ricevere la patch?

PHP propone alcune impostazioni del server che chiudono parte delle strade dell'attacco, e avverte che non rendono sicuro il negozio: solo l'aggiornamento lo fa. Sansec aggiunge un'altra misura d'emergenza: bloccare sul server il tipo di invio con cui viaggiano i file che si caricano su un sito. Ha un prezzo: finché resta attiva, nessuno può caricare file sul tuo negozio. Né tu le foto di un prodotto nuovo, né i tuoi clienti un allegato nel modulo di contatto. Il negozio continua a vendere normalmente.

Serve a guadagnare qualche giorno, non a restare così. La prossima volta che esce una falla in PHP —e ne usciranno—, il tuo negozio si ritroverà nella stessa situazione, perché PHP 8.1 e precedenti non ricevono più aggiornamenti.

Conviene aggiornare PrestaShop adesso?

È la domanda che si rimanda sempre perché il negozio funziona. PHP2Shell è quello che succede quando si rimanda troppo: il giorno in cui arriva il problema non lo scegli tu, e la soluzione non è alla tua portata.

Passare a PrestaShop 9 ti mette su un PHP che riceve patch per anni. Si fa senza chiudere il negozio, ti porti dietro prodotti, clienti, ordini e posizioni su Google, e un negozio piccolo costa a partire da 690 €. Lo spieghiamo per intero in aggiornare PrestaShop 1.7 o 1.6 a 9, e nella nostra pagina sulla migrazione da PrestaShop 1.6 e 1.7 a 9.

E se quello che vuoi è non dover stare dietro a questi avvisi, è esattamente ciò che copre un piano di manutenzione: qualcuno che aggiorna PHP, PrestaShop e moduli al posto tuo e ti avvisa prima che il problema arrivi al tuo negozio.

Per il tuo team tecnico

Versioni corrette: 8.2.35, 8.3.36, 8.4.27 e 8.5.12. Per 7.4, 8.0 e 8.1, PHP pubblica branch con la correzione minima in codice sorgente, linkati dal suo bollettino; non sono versioni ufficiali. Le misure parziali indicate da PHP, nel php.ini, nel pool di PHP-FPM (php_admin_value) o nella configurazione del server, mai con ini_set() né .user.ini, riavviando tutti i processi:

; CVE-2026-109618
memory_limit = -1
post_max_size = 32M   ; 8M se non si caricano file
; CVE-2026-109619
session.upload_progress.enabled = 0
; solo in PHP 8.5
fatal_error_backtraces = 0

PHP chiede di non sostituire memory_limit con limiti di sistema (RLIMIT_AS, RLIMIT_DATA). La misura di Sansec, bloccare multipart/form-data (blocca tutti i caricamenti di file, back office compreso), su Apache:

RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]

Su Nginx:

if ($http_content_type ~* "multipart/form-data") {
    return 403;
}

Con i pacchetti del repository di Remi (comune su RHEL, AlmaLinux o Rocky), Sansec avvertiva che l'aggiornamento non arrivava in giornata: verificare la versione installata con php -v. Con Cloudflare, limitare la porta 443 dell'origine ai suoi range di IP; altrimenti l'attacco arriva diretto all'IP del server.

Ti serve aiuto oggi?

Se non sai in quale caso sei, se il tuo hosting non ti risponde o se il tuo negozio è 1.6, 1.7 o 8 e vuoi uscirne, dicci la tua versione di PrestaShop e quella di PHP. Ti diciamo cosa fare oggi e, se serve, ti diamo un prezzo chiuso per passare a PrestaShop 9.

Voglio aggiornare il mio negozio

Come possiamo aiutarti

Vedi tutti i servizi →

Continua a leggere

Ti diamo una mano con il tuo progetto? Parliamone

Raccontaci di cosa ha bisogno la tua attività

Un modulo, un’app, un server che dà problemi o qualcosa di urgente. Ti rispondiamo entro 24 ore, con un preventivo chiuso con prezzo e data.