
Tra luglio e agosto 2026 chi come me, gestisce siti WordPress, ha avuto più di un motivo per prestare particolare attenzione alla sicurezza.
In poche settimane sono state corrette vulnerabilità importanti direttamente nel core di WordPress, sono stati documentati tentativi di sfruttamento reali e sono emersi problemi critici in plugin utilizzati da centinaia di migliaia di siti.
Non significa che improvvisamente WordPress sia diventato un CMS insicuro. Significa piuttosto che la sua enorme diffusione continua a renderlo uno degli obiettivi più interessanti per chi cerca installazioni vulnerabili da compromettere automaticamente.
La vera questione, quindi, non è chiedersi se WordPress sia sicuro oppure no.
La domanda corretta è un’altra: quanto è sicuro il tuo WordPress in questo momento?
Perché tra un’installazione aggiornata, controllata e correttamente configurata e un sito abbandonato a se stesso possono esserci differenze enormi.
Vediamo cosa è successo nell’estate 2026 e, soprattutto, cosa possiamo imparare da questi episodi.
Uno degli eventi più importanti si è verificato il 17 luglio, quando è stata pubblicata WordPress 7.0.2.
Non si trattava di un normale aggiornamento di manutenzione. La release correggeva un problema critico e uno classificato ad alta severità. La situazione è stata considerata sufficientemente seria da portare WordPress.org ad abilitare gli aggiornamenti automatici forzati sulle versioni interessate.
La vulnerabilità più preoccupante riguardava una SQL Injection non autenticata raggiungibile attraverso la REST API.
Il problema diventava particolarmente grave perché, combinando le vulnerabilità corrette, era possibile arrivare alla compromissione completa del sito e all’esecuzione di codice da remoto.
La vulnerabilità non è rimasta semplicemente un esercizio teorico per ricercatori di sicurezza. Sono stati osservati tentativi di sfruttamento reali contro installazioni vulnerabili.
Per chi gestisce WordPress questo episodio è particolarmente interessante perché rompe una convinzione piuttosto diffusa: che sia sufficiente mantenere aggiornati plugin e temi per essere relativamente tranquilli.
Normalmente è vero che buona parte delle vulnerabilità dell’ecosistema WordPress proviene dai componenti aggiuntivi. Nel caso di luglio 2026, però, il problema interessava direttamente il core.
Le vulnerabilità di luglio sono diventate note anche con il nome wp2shell.
Il CERT-AGID italiano ha pubblicato un avviso specifico il 19 luglio, richiamando l’attenzione sulle vulnerabilità CVE-2026-60137 e CVE-2026-63030 e sulla possibilità di combinarle per compromettere installazioni WordPress vulnerabili.
Nei giorni successivi sono stati osservati attacchi finalizzati, tra le altre cose, all’installazione di webshell e plugin malevoli.
Una webshell è particolarmente pericolosa perché può consentire all’attaccante di mantenere un accesso al server anche dopo che la vulnerabilità originale è stata corretta.
Ed è qui che emerge un punto fondamentale.
Aggiornare WordPress dopo una compromissione potrebbe non essere sufficiente.
Se qualcuno è già riuscito a entrare nel sito, bisogna verificare che non abbia lasciato backdoor, file PHP nascosti, nuovi amministratori, plugin modificati o altre forme di persistenza.
Un sito compromesso non dovrebbe quindi essere semplicemente aggiornato e considerato automaticamente risolto.
La situazione è proseguita ad agosto.
Il 6 agosto è stata pubblicata WordPress 7.0.3, un’altra release di sicurezza contenente 12 correzioni.
Tra i problemi affrontati figuravano vulnerabilità XSS, escalation di privilegi, information disclosure, bypass della verifica email e SSRF.
Una delle vulnerabilità più rilevanti era una reflected XSS raggiungibile senza autenticazione dalla schermata di login e potenzialmente utilizzabile per arrivare all’esecuzione di codice PHP.
Ancora una volta, quindi, non stiamo parlando soltanto di piccoli bug che interessano situazioni molto particolari.
Il Canadian Centre for Cyber Security ha successivamente segnalato che, secondo le informazioni disponibili, CVE-2026-64638 risultava sfruttata attivamente.
Per chi gestisce un sito aziendale questo dovrebbe far riflettere soprattutto sulla velocità con cui oggi è necessario reagire alla pubblicazione di una vulnerabilità.
Non è più realistico pensare:
“Aggiornerò WordPress quando avrò tempo.”
Tra la divulgazione di una falla e i tentativi automatizzati di sfruttarla può trascorrere pochissimo tempo.
A distanza di appena sei giorni da WordPress 7.0.3 è arrivata un’altra release di sicurezza.
WordPress 7.0.4 è stata pubblicata il 12 agosto per correggere una vulnerabilità che poteva consentire a un utente con ruolo Author o superiore di arrivare all’esecuzione remota di codice attraverso un file appositamente preparato, nei sistemi che utilizzavano Imagick e Ghostscript.
Il dato interessante non è soltanto la singola vulnerabilità.
È la sequenza temporale:
17 luglio: WordPress 7.0.2.
6 agosto: WordPress 7.0.3.
12 agosto: WordPress 7.0.4.
Tre aggiornamenti di sicurezza importanti in meno di un mese.
Questo dimostra quanto sia sbagliato considerare la manutenzione WordPress come qualcosa da effettuare una volta ogni tanto.
Come accade frequentemente nell’ecosistema WordPress, durante agosto sono emerse vulnerabilità molto serie anche nei plugin.
Ed è probabilmente questo l’aspetto che dovrebbe interessare maggiormente il proprietario di un normale sito aziendale.
Un’installazione WordPress raramente è composta esclusivamente dal core. Ci sono page builder, moduli di contatto, sistemi multilingua, plugin SEO, strumenti per cookie e privacy, sistemi di caching, plugin di sicurezza e decine di altre estensioni.
Ognuno di questi componenti aumenta le funzionalità del sito, ma aumenta anche la superficie di attacco.
Il 19 agosto è stata resa pubblica una vulnerabilità critica di Elementor Pro, identificata come CVE-2026-32475 e valutata da Patchstack con un punteggio CVSS di 9.0.
Il problema riguardava il modulo Forms e, in particolare, la gestione del caricamento dei file.
In determinate condizioni un attaccante non autenticato poteva sfruttare il meccanismo di upload per caricare file arbitrari e arrivare all’esecuzione di codice da remoto.
Il problema è stato corretto nella versione 4.2.2.
Questo episodio è particolarmente significativo perché Elementor Pro è un prodotto estremamente conosciuto. Non stiamo parlando del classico plugin abbandonato da anni e scaricato da poche decine di persone.
E dimostra ancora una volta una cosa importante: la notorietà di un plugin non elimina la necessità di mantenerlo aggiornato.
Un altro caso importante è emerso ad agosto con TranslatePress.
Wordfence ha documentato una vulnerabilità di account takeover nelle versioni fino alla 3.3.1 del plugin, che conta più di 400.000 installazioni attive.
In una configurazione specifica, un attaccante non autenticato poteva ottenere il link per il reset della password di un amministratore, modificare la password e successivamente accedere al sito con privilegi amministrativi.
Il problema è stato corretto nella versione 3.3.2.
Una volta ottenuto un account amministratore, naturalmente, l’attaccante può fare molto più che modificare una pagina: può creare altri utenti, installare plugin contenenti backdoor, modificare file e compromettere completamente il sito.
Ad agosto sono stati documentati anche tentativi di sfruttamento contro vulnerabilità critiche nel plugin miniOrange SAML 2.0 Single Sign On.
Le vulnerabilità potevano consentire un bypass dell’autenticazione e permettere a un attaccante di accedere come un altro utente, incluso un amministratore.
La vicenda è interessante anche per un’altra ragione: alcune edizioni commerciali del prodotto non rendevano immediatamente evidente la disponibilità dell’aggiornamento attraverso il normale meccanismo della dashboard WordPress.
Questo significa che il classico controllo:
“Non vedo aggiornamenti disponibili, quindi è tutto a posto”
non è sempre sufficiente.
La sicurezza WordPress richiede anche la conoscenza dei componenti effettivamente installati e delle relative versioni.
No.
Gli aggiornamenti sono fondamentali, ma rappresentano soltanto una parte della sicurezza di un sito WordPress.
Il problema più delicato riguarda i siti che potrebbero essere stati compromessi prima dell’aggiornamento.
Immaginiamo che una vulnerabilità venga sfruttata lunedì e che il proprietario aggiorni il plugin venerdì.
La vulnerabilità viene corretta, ma ciò non significa necessariamente che ciò che è accaduto nei quattro giorni precedenti sia scomparso.
Un attaccante potrebbe avere già creato un amministratore nascosto, modificato un file PHP o installato una backdoor.
Per questo, quando esiste il sospetto di una compromissione, bisogna cambiare completamente approccio.
Non si tratta più semplicemente di manutenzione.
Serve un’analisi.
Non sempre un sito hackerato mostra immediatamente una pagina con scritto “Hacked”.
Gli attacchi più insidiosi cercano esattamente di fare il contrario: rimanere invisibili.
Il proprietario potrebbe accorgersene perché Google comincia a indicizzare pagine che non ha mai creato, perché compaiono strani URL nei risultati di ricerca, perché vengono creati utenti amministratori sconosciuti oppure perché il sito inizia improvvisamente a effettuare redirect verso domini esterni.
In altri casi il sito continua apparentemente a funzionare normalmente.
Per questo un controllo serio deve riguardare file, database, account amministrativi, plugin, cron job, log e modifiche recenti.
Bisogna inoltre verificare se esistono file PHP in posizioni anomale e confrontare i file del core con quelli originali della distribuzione WordPress.
È un lavoro molto diverso dal semplice clic sul pulsante “Aggiorna”.
Un’altra convinzione che incontro spesso è:
“Perché qualcuno dovrebbe hackerare proprio il mio sito? Non sono Amazon.”
Nella maggior parte dei casi nessuno ha scelto personalmente quel sito.
Gli attacchi moderni sono largamente automatizzati.
Bot e scanner cercano continuamente su Internet installazioni che utilizzano determinate versioni vulnerabili di WordPress, plugin o temi. Quando trovano una possibile vittima, tentano automaticamente lo sfruttamento.
Il valore del sito non è necessariamente nei suoi contenuti.
Un sito compromesso può essere utilizzato per distribuire spam, creare pagine SEO abusive, effettuare redirect, ospitare malware, inviare email indesiderate o diventare parte dell’infrastruttura utilizzata per ulteriori attacchi.
Un piccolo sito aziendale può quindi essere interessante esattamente quanto uno molto più conosciuto.
Dopo anni di lavoro con WordPress, uno dei problemi più frequenti che incontro non è necessariamente la presenza di un plugin pericoloso.
È l’assenza di manutenzione.
Il sito viene realizzato, pubblicato e poi dimenticato.
Passano mesi.
WordPress viene aggiornato occasionalmente, alcuni plugin rimangono indietro, altri non vengono più utilizzati ma restano installati. Magari rimane anche un vecchio tema disattivato che nessuno ricorda più.
Poi arriva una vulnerabilità.
A quel punto l’attaccante non deve inventare nulla. Deve semplicemente trovare l’installazione che non è stata aggiornata.
Gli episodi verificatisi tra luglio e agosto non dimostrano che bisogna smettere di utilizzare WordPress.
WordPress continua a essere uno strumento estremamente valido per realizzare siti web aziendali, portali, blog ed e-commerce.
Dimostrano però che un sito WordPress non può essere abbandonato dopo la pubblicazione.
È un software.
Come qualsiasi software collegato a Internet deve essere aggiornato, controllato e mantenuto.
La sicurezza non consiste nell’installare un plugin e dimenticarsene.
Consiste nel ridurre la superficie di attacco, aggiornare rapidamente i componenti vulnerabili, utilizzare soltanto ciò che serve, avere backup realmente utilizzabili e soprattutto sapere come intervenire quando qualcosa non torna.
Se sei arrivato a questo articolo perché il tuo sito sta mostrando comportamenti strani, Google ha iniziato a indicizzare pagine che non riconosci, sono comparsi redirect, utenti sconosciuti, file sospetti oppure il sito è stato segnalato come pericoloso, evita di procedere cancellando file a caso.
Potresti eliminare il malware visibile lasciando intatta la porta utilizzata dall’attaccante per rientrare.
Mi occupo professionalmente di realizzazione, gestione, manutenzione e risoluzione dei problemi dei siti WordPress.
Sono Pierfranco Gubitosa e posso intervenire direttamente sul sito per capire cosa è successo, individuare eventuali file compromessi, verificare plugin, temi e database, eliminare il codice malevolo e soprattutto cercare la causa che ha permesso l’accesso.
L’obiettivo non è semplicemente far tornare online il sito. È evitare di ritrovarsi qualche giorno dopo esattamente nella stessa situazione.
Se hai un sito WordPress compromesso, sospetti un attacco oppure vuoi sapere se la tua installazione presenta problemi di sicurezza, contattami spiegandomi cosa sta succedendo e indicando l’indirizzo del sito.
Posso effettuare una prima valutazione del problema e indicarti il tipo di intervento necessario.
Quando un WordPress è stato compromesso, aspettare raramente migliora la situazione. Intervenire rapidamente può invece fare una grande differenza.
| Cookie | Durata | Descrizione |
|---|---|---|
| cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
| JCS_INENREF | 1 hour | The cookie is a part of the website security measures and is used for anti-spam purposes. |
| JCS_INENTIM | 1 hour | The cookie is a part of the website security measures and is used for anti-spam purposes. |
| PHPSESSID | session | This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed. |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
| _GRECAPTCHA | 5 months 27 days | This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks. |
| _wpss_h_ | 1 hour | This cookie is used for anti-spam and security of the website. |
| _wpss_p_ | 1 hour | This cookie is used for anti-spam and security of the website. |
| Cookie | Durata | Descrizione |
|---|---|---|
| d | 3 months | Quantserve sets this cookie to anonymously track information on how visitors use the website. |
| Cookie | Durata | Descrizione |
|---|---|---|
| CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
| u | 1 year | This cookie is used by Bombora to collect information that is used either in aggregate form, to help understand how websites are being used or how effective marketing campaigns are, or to help customize the websites for visitors. |
| _ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
| _gat_gtag_UA_54545659_3 | 1 minute | Set by Google to distinguish users. |
| _gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
| __gads | 1 year 24 days | The __gads cookie, set by Google, is stored under DoubleClick domain and tracks the number of times users see an advert, measures the success of the campaign and calculates its revenue. This cookie can only be read from the domain they are set on and will not track any data while browsing through other sites. |
| Cookie | Durata | Descrizione |
|---|---|---|
| ab | 1 year | Owned by agkn, this cookie is used for targeting and advertising purposes. |
| CMID | 1 year | Casale Media sets this cookie to collect information on user behavior, for targeted advertising. |
| CMPRO | 3 months | CMPRO cookie is set by CasaleMedia for anonymous user tracking, and for targeted advertising. |
| CMPS | 3 months | CMPS cookie is set by CasaleMedia for anonymous user tracking based on user's website visits, for displaying targeted ads. |
| CMST | 1 day | Casale Media sets this cookie to collect information on user behavior, for targeted advertising. |
| DSID | 1 hour | This cookie is set by DoubleClick to note the user's specific user identity. It contains a hashed/encrypted unique ID. |
| id | 1 year 1 month | Set by Google DoubleClick, this cookie is used to create user profiles to display relevant ads. |
| IDE | 1 year 24 days | Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile. |
| KADUSERCOOKIE | 3 months | The cookie, set by PubMatic, registers a unique ID that identifies a returning user's device across websites that use the same ad network. The ID is used for targeted ads. |
| KTPCACOOKIE | 1 day | The cookie, set by PubMatic, registers a unique ID that identifies a returning user's device across websites that use the same ad network. The ID is used for targeted ads. |
| mc | 1 year 1 month | Quantserve sets the mc cookie to anonymously track user behaviour on the website. |
| mdata | 1 year 1 month | This cookie is used by Media Innovation group and registers a unique ID to identify a visitor on their revisit, in order to show them relevant ads. |
| ov | 1 year 1 month | This cookie is set by the provider mookie1.com. This cookie is used for serving the user with relevant content and advertisement. |
| test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
| uuid | 3 months | MediaMath sets this cookie to avoid the same ads from being shown repeatedly and for relevant advertising. |
| VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
| YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
| yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| Cookie | Durata | Descrizione |
|---|---|---|
| 04ecbdc3c8cf16f1be009c66ff1e1338 | 4 hours | No description |
| 058d1dd4c2b7a954880e0bbdb1870438 | 4 hours | No description |
| 06c08a52fb366b586c4a5a60bd81a032 | 4 hours | No description |
| 06cf9d7ef1d1881252ce47dd06ac08f3 | 4 hours | No description |
| 09440368c01217c60d60dd49cb763134 | 4 hours | No description |
| 0b06a9c49a6ae83407d78fa2c6cbb754 | 4 hours | No description |
| 0b2c5193e048ed914b2305e520425354 | 4 hours | No description |
| 0eb805528ad5c11759038444ff2341d9 | 4 hours | No description |
| 0fc3184b8684aacdd2d4a61212650c67 | 4 hours | No description |
| 0fe5b5ff96e0ebe112cd7b65a4b80e01 | 4 hours | No description |
| 12cb367bf061181ec080adeb0a979a63 | 4 hours | No description |
| 15743677e19d30149a85ea11579014c6 | 4 hours | No description |
| 1595c8a1e8f3d7936c76235fccb642d4 | 4 hours | No description |
| 180ccbb64978ceddfede7c1ded4fcc33 | 4 hours | No description |
| 1e3aa9c49fa6a3708c10698621561970 | 4 hours | No description |
| 1eff2c6050bd1a67bf59750bde8aa48a | 4 hours | No description |
| 22cc47102aa5930b376a1e850f9f7998 | 4 hours | No description |
| 2471fd4fbd0697c13a585de398e09cd6 | 4 hours | No description |
| 3038be542854f1abfe8398702470e2d9 | 4 hours | No description |
| 314165b7e8774789dd6594155f831d59 | 4 hours | No description |
| 31fcd56e023a056286bd963a2b7d9f91 | 4 hours | No description |
| 34be7884060f1d4b14bb2c0f5475f0d0 | 4 hours | No description |
| 364de52a19c37e44e56f104a25e869f7 | 4 hours | No description |
| 36547837130fd63665fd4de9211211f5 | 4 hours | No description |
| 38e93c3cfe326d787b45698a5a6bbfea | 4 hours | No description |
| 392959a50eb044c5a7a7de09899c7baa | 4 hours | No description |
| 3b5808709edd28b3d43cfaf46bdbfe13 | 4 hours | No description |
| 42db14d707fd007b171fb3cd183c716e | 4 hours | No description |
| 435d77343474100c952e594530cac6c7 | 4 hours | No description |
| 45d7cbc98cc5939ccaa31374d9501ee9 | 4 hours | No description |
| 4a17a7ac22d9100a17fc08365601a82b | 4 hours | No description |
| 4c3920b813956aad13fbf65e142958aa | 4 hours | No description |
| 4debd2636f1f4ed491b1fac2ecbe7818 | 4 hours | No description |
| 4f11801af7e6e577b3058dfbb8f007e9 | 4 hours | No description |
| 55eeca3eec69236f8c7c606b74d3387b | 4 hours | No description |
| 5d0c045aeff810303a5e8df2f7748631 | 4 hours | No description |
| 5d0c8e1d0dc504433e046993f4fa449a | 4 hours | No description |
| 5df70a264e8f43a64bdc1b79d5efb2e5 | 4 hours | No description |
| 5fa57ec7b68228177f48af589712c121 | 4 hours | No description |
| 61b279df23b147bc81ffd53a81fe2957 | 4 hours | No description |
| 647e91c682ee42138176157cbfadbe66 | 4 hours | No description |
| 67893c43404db52849ed4ca6cb145346 | 4 hours | No description |
| 681114604376872d4d04a7324e1f936d | 4 hours | No description |
| 70bb13372da078a313a3602c4b1108a2 | 4 hours | No description |
| 735b38aa234c6176d1803e2cd3cf7c20 | 4 hours | No description |
| 760cdecc7adf05d51d44a2ef21adf908 | 4 hours | No description |
| 785c4969ce93ee004f1fb17c836905cb | 4 hours | No description |
| 7978221bfaca83cfd66a6102b88a0e49 | 4 hours | No description |
| 7f1cd1ee4843eb910e614e7a03e4dd87 | 4 hours | No description |
| 813a2d9f186728cf33c2a881a88a65b6 | 4 hours | No description |
Contattami con WhatsApp ora !