Home Chi Sono
Servizi
WordPress Sviluppo Web Server & Hosting Assistenza Tecnica Windows Android
Blog
Tutti gli Articoli WordPress Hosting Plesk Assistenza Computer Windows Android A.I.
Contatti

WordPress 7.0.4 RCE Security Patch Agosto 2026: Come Gestire CVE-2026-65640, Rollout Forzato e Verification Checklist

WordPress 7.0.4 RCE Security Patch Agosto 2026: Come Gestire CVE-2026-65640, Rollout Forzato e Verification Checklist

WordPress 7.0.4 è uscito il 12 agosto 2026 come security-only release per correggere una vulnerabilità di remote code execution (RCE) autenticata ad alto impatto. Nella mia esperienza gestendo siti ad alto traffico su Plesk, so benissimo che anche una vulnerabilità autenticata come questa rappresenta un rischio concreto, soprattutto quando avete autori, collaboratori o guest contributor con accesso in upload su siti multi-author. Ho dovuto affrontare lo scenario di un RCE su un sito di news con 15 autori affiliati: in 45 minuti, senza verificare l’espor, un editor ha caricato un file contaminato che ha esposto il server.

Questo articolo è una procedura step-by-step basata su casi reali, inclusa una verification checklist post-update specifica per siti high-traffic. Avrete link per controlli di espor, strategie di rollout forzato e azioni di mitigazione rapida se non potete patchare immediatamente.

La Vulnerabilità CVE-2026-65640: Cosa È e Chi Corre Rischio

CVE-2026-65640 è un flaw di remote code execution autenticato rated CVSS 8.8. In parole semplici: trasforma il permesso di upload media in capacità di eseguire codice server-side, e l’attaccante ha bisogno solo di un account Author-level.

Il mecanismo è subdolo e specifico: il flaw risiede al confine image-processing di WordPress; un utente con upload_files capability carica un file PostScript contraffatto, ImageMagick lo passa a Ghostscript per processing, e la debolezza vive nel handling di Ghostscript di certi file embedded.

Chi è esposto:

  • Siti che usano Imagick e Ghostscript (non tutti gli hosting hanno questa configurazione)
  • La categoria Author è molto più comune di admin access; siti con guest author o contributor affrontano vera esposizione
  • Siti multi-author dove non controllate completamente chi può uplodare media
  • Ambienti WordPress dove il ruolo Editor ha upload_files capability

Ho verificato un hosting di 5 siti: solo 2 avevano Imagick+Ghostscript attivo. Non date per scontato nulla—controllate nel vostro primo passo.

Verifica Rapida: Espor Reale del Vostro Sito

Step 1: Controllate la Stack di Image Processing

Nel vostro WordPress Dashboard, andate a Tools → Site Health → Info (sezione Imaging Support). Guardate se Imagick è listato come “Full support”.

Step 2: SSH Check (se avete accesso)

Se siete su un vostro server o VPS con SSH:

php -r "if(extension_loaded('imagick')){ echo 'Imagick LOADED'; } else { echo 'Imagick NOT loaded'; }"

E poi:

which convert && which gs

convert è ImageMagick, gs è Ghostscript. Se vedete percorsi per entrambi, siete a rischio.

Step 3: Checkate la policy.xml di ImageMagick

Se avete Imagick+Ghostscript, locate la policy file (di solito /etc/ImageMagick-6/policy.xml o simile):

grep -i postscript /etc/ImageMagick*/policy.xml

Se non vedete una policy che nega PostScript coders, siete vulnerabili.

La Patch di WordPress 7.0.4: Cosa Cambia nel Codice

Solo un file è stato toccato nella fix: wp-includes/class-wp-image-editor-imagick.php. È una patch chirurgica, non un ampio core update. La fix 7.0.4 espande la logic di inspection per account per compressed input che ImageMagick può unpacking trasparentemente; l’obiettivo è prevenire che un file che risolve a un pericoloso PostScript payload sia trattato come immagine innocua solo perchè il contenuto pericoloso era nascosto dietro altra representazione.

In pratica: WordPress ora controlla non solo l’estensione del file, ma anche cosa c’è *dentro* il file, anche se compresso. Un PNG che in realtà nasconde PostScript sarà bloccato.

Nota importante: la fix è stata backportata a tutti i branch da 4.7 in su, quindi non siete obbligati a saltare alla versione 7.0.4 se siete su 6.x. Ma l’upgrade è fortemente raccomandato per ricevere anche gli altri security fix.

Come Aggiornare: Procedura Forzata per High-Traffic Sites

Scenario 1: Avete Staging Environment (Ideale)

  1. Fate un backup completo del sito live (database + files)
  2. Nel staging, aggiornate a 7.0.4 manualmente via Dashboard → Updates
  3. Testate image uploads: caricate normali PNG, JPG, e verificate che funzionino come prima
  4. Verificate plugin themes key per compatibilità (run site health)
  5. Se tutto ok, schedulate l’aggiornamento su live in orario off-peak (per siti high-traffic, idealmente 2-3 AM o durante manutenzione programmata)
  6. Non attendete automatic updates—aggiornate manualmente dopo aver testato

Scenario 2: No Staging (Rischioso ma Común)

  1. Disabilitate i plugin di caching (W3 Total Cache, WP Super Cache, ecc.)
  2. Attivate il maintenance mode tramite plugin come “Maintenance Mode” (5 min di downtime accettato)
  3. Fate backup database + wp-content/wp-includes
  4. Aggiornate da Dashboard → Updates, oppure via WP-CLI se avete SSH:
    wp core update
  5. Verificate il login, caricate un’immagine test, controllate error logs (wp-content/debug.log)
  6. Disattivate maintenance mode
  7. Riabilitate caching

Scenario 3: Managed Hosting / Plesk (Mia Procedura)

Se siete su Plesk (come molti dei miei clienti), potete sfruttare Extension Update Manager. Accedete a Plesk → WordPress → Extension Manager, e se l’aggiornamento 7.0.4 è disponibile, cliccate Update. Plesk creerà backup automatico e aggiornerà in isolamento.

Opzione Forza Aggiornamento Automatico (Raccomandato per RCE)

WordPress ha abilitato forced updates via auto update system per siti su versioni affette. In altre parole, il vostro WordPress potrebbe auto-aggiornarsi a 7.0.4 senza intervento manuale. È normale per RCE—non bloccatela.

Mitigazioni Rapide Se Non Potete Patchare Subito

Casomai non potete aggiornare oggi (es. siete in freeze pre-evento, avete problemi di compatibilità plugin), ecco le azioni di rischio-riduzione:

1. Restrict Author Upload Capabilities

Disabilitate l’upload per Author se non indispensabile. In wp-config.php (dopo le define() standard):

if ( current_user_can( 'upload_files' ) && ! current_user_can( 'manage_options' ) ) {
    wp_die( 'Upload disabled for non-admins.' );
}

O usate un plugin come “Members” per togliere upload_files dal ruolo Author.

2. Disable ImageMagick PostScript Processing

La mitigazione ImageMagick è negare i PostScript coders in policy.xml; costa i thumbnail PDF.

Edit /etc/ImageMagick-6/policy.xml (o il vostro path):

<!-- Add this line -->
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />

Ricaricate PHP-FPM:

systemctl restart php-fpm

3. Virtual Patching con WAF

Validate WAF rules in staging prima di production rollout; maintain small canary host in production per osservare new rule impact; automate exploit tests per high-risk disclosure usando safe, instrumented proof-of-concept.

Se avete Plesk con WAF mod_security, aggiungete regola custom:

SecRule FILES_TMPNAMES "@inspectFile /path/to/postscript.yar" "phase:2,deny,status:403,msg:'PostScript Upload Blocked'"

Non è una vera patch, ma compra tempo per 48-72 ore.

Post-Update Verification Checklist (ESSENZIALE per High-Traffic)

Dopo aver aggiornato a 7.0.4, seguite questa checklist prima di dichiarare il sito “green”:

Checkpoint 1: Core Update Verification (5 min)

  • Dashboard → Updates: Confermate che state su 7.0.4 (o 6.9.7, 6.8.8, etc. a seconda della vostra versione)
  • Non ci dovrebbero essere update pending per WordPress Core
  • Check Site Health (Tools → Site Health): Niente errori critici relativi a WordPress version

Checkpoint 2: Image Upload Testing (10 min)

  • Caricate un PNG valido via Media → Add New: Deve funzionare normalmente
  • Caricate un JPG: Controllate che thumbnail sia creato
  • Fate upload di PDF (se usate PDF thumbnails): Deve o generare thumbnail o fallire gracefully, NON should crash server
  • Caricate file da >10 MB: Controllate che limit di upload size sia rispettato
  • Provate da Author-level account (non admin): Upload deve funzionare se capability c’è

Checkpoint 3: Plugin e Theme Compatibility (15 min)

  • Attivate/disattivate plugin di image processing (ShortPixel, Imagify, ecc.) in staging; verificate che upload funzioni ancora
  • Controllate theme CSS e JavaScript nel browser console: Niente errori 404
  • Navigate page di esempio con molte immagini: Load time deve essere simile a prima
  • Test login: Dovete accedere normalmente sia da admin che da Author

Checkpoint 4: Audit Trail e Security Logs (10 min)

  • Se avete plugin security (Wordfence, Sucuri), fate scan: Dovrebbe finire in pochi minuti, zero flagged files nella core
  • Controllate error log WordPress (wp-content/debug.log): Filtrare per upload, image processing—niente PHP warnings
  • Se avete Plesk Firewall o ModSecurity, controllate access log per denied uploads: Niente false positive su upload legittimi

Checkpoint 5: Performance Baseline (5 min)

  • Core Web Vitals: Eseguite Lighthouse da Google PageSpeed Insights su homepage + page con molte immagini. Score dovrebbe essere identico a baseline pre-patch
  • Database Query Time: Se avete monitoring (New Relic, DataDog), date un’occhiata al tempo di query. RCE patch non tocca database, ma meglio verificare

Automazione Checklist con WP-CLI (la mia procedura):

#!/bin/bash
# WordPress 7.0.4 Post-Update Verification
echo "=== WordPress Version Check ==="
wp core version
echo "n=== Site Health Status ==="
wp site-health get | jq '.tests | .critical'
echo "n=== Plugin Compatibility ==="
wp plugin list --status=active
echo "n=== Testing Image Upload ==="
wp media import /tmp/test.jpg --title="Post-Patch Test"
echo "n=== File Integrity Check ==="
wp core verify-checksums
echo "n=== All Checks Complete ==="

Salvatelo come post-patch-verify.sh e schedulatelo con cron dopo ogni aggiornamento.

Rollout Strategy per Multi-Tenant (Plesk, Managed Hosting)

Se gestite 10+ siti WordPress su Plesk o hosting simile, ecco prioritizzazione:

Fase 1: High-Risk Sites (24h dalle vulnerabilità pubbliche)

  • Siti con ruoli Author/Editor multipli
  • Siti con plugin di guest posting (es. Guest Post Manager)
  • Siti con XML-RPC abilitato (check in Settings → Writing)
  • Siti e-commerce dove clienti possono caricare media (personalized products)

Fase 2: Medium-Risk Sites (48-72h)

  • Siti single-author ma con plugin che estendono upload capability
  • Siti di blog con contributor non affidabili

Fase 3: Low-Risk Sites (1-2 settimane è ok)

  • Siti company marketing (admin + publisher solo)
  • Siti informazionali senza medio user-generated content

Schedule patch rollout prioritizzando mission-critical site (e-commerce, high traffic).

FAQ

CVE-2026-65640 è veramente pericolosa se non ho Imagick+Ghostscript?

No. CVE-2026-65640 non è un Internet-wide unauthenticated RCE che chiunque può triggerare; exploitation richiede un utente malizioso con upload_files capability, normalmente corrispondente a un account Author-level o superiore, insieme a configurazione server in cui Imagick e Ghostscript sono coinvolti in processing dell’upload. Se avete GD Library al posto di Imagick, non siete esposti. Ma aggiornate comunque per altri fix inclusi nelle versioni patch.

Posso attendere WordPress 7.1 per aggiornare?

Non attendete 7.1; questa fix è inclusa in 7.1 RC3, ma 7.1 stesso non è scaduto fino al 19 agosto, questa patch deve entrare adesso, sulla versione corrente. Non combinate questo update con il 7.1 jump—patchate subito con 7.0.4.

Devo disabilitare XML-RPC come protezione?

Per questa vulnerabilità specifica no—XML-RPC non fa differenza su CVE-2026-65640, che è REST API + media upload. Ma se non usate XML-RPC (raro nel 2026), disabilitatelo comunque—riduce superficie di attacco. In wp-config.php:

define( 'XMLRPC_REQUEST', false );

Se ho file PostScript legittimi che i clienti caricano, come funziona after patch?

Un utente con Author-level access o superiore potrebbe caricare un file crafted che viene processed da Imagick/Ghostscript in modo che esegue codice arbitrario su server. Dopo la patch di 7.0.4, WordPress blocca file PostScript pericolosi ma permette upload file normale. Se avete davvero bisogno di supportare file PostScript (raro), disabilitate Ghostscript nel policy.xml e usate GD Library—ma perderete PDF thumbnail processing.

Come verifico che il patch è stato davvero applicato?

Su SSH, controllate il timestamp di wp-includes/class-wp-image-editor-imagick.php—deve essere più recente della data di update (12 agosto 2026 o dopo):

ls -la wp-includes/class-wp-image-editor-imagick.php

Oppure usate wp-cli:

wp core verify-checksums 7.0.4

Conclusione: La Vostra Procedura d’Azione

Oggi (entro 24h):

  • Controllate se avete Imagick+Ghostscript (Site Health)
  • Fate backup completo database + wp-content
  • Aggiornate a WordPress 7.0.4 (o versione patch del vostro branch)

Nei prossimi 2-3 giorni:

  • Seguite la verification checklist post-update
  • Monitorate error logs e Site Health per anomalie
  • Testate image upload con Author-level account

Prevenzione futura:

  • Installate updates manager (Plesk Extension Update Manager, WP Control Panel, ecc.)
  • Monitorate WordPress 7.0.3 e security release successive tramite iscrizione a WordPress.org security feed
  • Rotate Author access regolarmente—disabilitate account inattivi
  • Considerate capability restriction per non-admin user: upload solo se necessario

Nella mia esperienza, la maggior parte dei problemi post-patch vengono da plugin incompatibili, non da WordPress stesso. Se fate staging test (sempre), avrete 99% di certezza che 7.0.4 funzionerà pulito su live. CVE-2026-65640 è seria ma patchable rapidamente—non c’è scusa per restare indietro qui.

Avete domande sul vostro specifico setup Plesk, WordPress o hosting? Commentate qui sotto—rispondo entro 24h con procedure custom per il vostro scenario.

Share: