Errore 500 PrestaShop o pagina bianca: cosa fare subito
Il tuo negozio PrestaShop dà errore 500 o resta bianco: cosa fare senza peggiorare, come vedere l’errore vero e avere…
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.
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.
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:
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.
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.
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.
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.
È 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.
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.
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.
Il tuo negozio PrestaShop dà errore 500 o resta bianco: cosa fare senza peggiorare, come vedere l’errore vero e avere…
Cosa include la manutenzione di un negozio PrestaShop, di quante ore hai bisogno e quanto costa all’anno: tre piani da…
Aggiornare PrestaShop 1.6 o 1.7 alla versione 9 senza chiudere il negozio: cosa ti porti, cosa succede a moduli, Google…
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.