Il contesto delle vulnerabilità critiche di PHP

Negli ultimi mesi sono state scoperte due vulnerabilità critiche in PHP che hanno spinto amministratori e organizzazioni di diversi paesi a effettuare controlli urgenti sui propri server. Alcuni siti hanno persino deciso di disconnettersi temporaneamente per applicare le patch o verificare che l’installazione fosse sicura. In questo scenario è naturale chiedersi: come capire se una pagina web sta esponendo una versione di PHP compresa tra quelle potenzialmente vulnerabili?

OpenAI ha risposto a questa esigenza pubblicando una tool semplice ma efficace, pensata per fornire una prima valutazione senza richiedere competenze avanzate o l’installazione di software ingombranti.

Le due skill di Codex: phpcheck‑url e phpcheck‑server

Il nuovo checker è composto da due “skill” per Codex, l’ambiente di programmazione integrato in ChatGPT per computer:

    • phpcheck‑url: da utilizzare quando si dispone solo dell’indirizzo pubblico di un sito.
    • phpcheck‑server: destinata a chi ha accesso diretto al server, consentendo una verifica più approfondita dell’installazione locale di PHP.

Entrambe le skill si limitano a confrontare la versione di PHP rilevata con una lista di versioni considerate vulnerabili; non effettuano alcuna operazione di exploit né tentano di compromettere il sito analizzato.

Come attivare le skill in ChatGPT

Per iniziare è necessario aprire l’applicazione desktop di ChatGPT e selezionare il modello Codex dal menu a tendina situato in alto. Non è richiesto creare un progetto PHP né avere accesso al server se si intende analizzare solo un URL pubblico.

Una volta selezionato Codex, occorre installare le due skill con il seguente comando, da incollare direttamente nella chat:

$skill-installer install both skills from https://github.com/openai/php2shell-checker

Codex scaricherà il repository ufficiale di OpenAI su GitHub e aggiungerà phpcheck‑url e phpcheck‑server al proprio ambiente. Non viene installato PHP né alcun pacchetto pesante: solo piccoli script che Codex potrà riutilizzare per le successive verifiche.

Dopo aver inviato il comando, Codex presenterà le due skill individuate nel repository e richiederà l’autorizzazione per completare l’installazione, inclusa la connessione a Internet e la scrittura dei file nella cartella delle skill. È importante leggere le azioni proposte e accettarle solo se si è d’accordo. Al termine dell’operazione, le skill saranno pronte per l’uso nel turno successivo.

Utilizzare phpcheck‑url per controllare un sito pubblico

Se si dispone solo dell’indirizzo di un sito, la skill appropriata è phpcheck‑url. Nell’esempio fornito da OpenAI è stata analizzata la pagina expasy.org, ma è possibile sostituire l’URL con qualsiasi dominio di interesse.

Il comando da inserire nella chat è il seguente:

$phpcheck-url check https://expasy.org/

Premendo Invio, lo script non tenta di “entrare” nella web o di sfruttare la vulnerabilità. Prima effettua una richiesta HEAD, una chiamata molto leggera che interroga il server per ottenere solo le intestazioni della risposta, senza scaricare il contenuto della pagina. Se il metodo HEAD è disabilitato, lo strumento ricade su una normale richiesta GET, ma continua a non analizzare il corpo della risposta.

L’obiettivo è raccogliere le intestazioni pubbliche inviate dal server, in particolare Server o X-Powered-By, dove spesso è indicata la versione di PHP in uso. Se queste informazioni sono presenti, lo script le confronta con la lista di versioni vulnerabili.

Nel caso di expasy.org, il risultato è stato UNKNOWN. Questo non implica che il sito sia sicuro, ma semplicemente che non siano state trovate informazioni sufficienti per classificare la versione di PHP. Se le intestazioni non rivelano la versione, lo strumento non può andare oltre senza accesso al server.

Possibili esiti del checker

    • VULNERABLE: la versione rilevata rientra nell’intervallo considerato vulnerabile dal checker.
    • OK: la versione è superiore alla soglia di vulnerabilità.
    • UNKNOWN: non sono disponibili dati sufficienti per una classificazione.

È importante sottolineare che nessuno di questi esiti sostituisce una vera e propria audit di sicurezza. Anche un risultato OK si basa solo sulle informazioni dichiarate pubblicamente dal server e non garantisce l’assenza di vulnerabilità.

Verifica più approfondita con phpcheck‑server

Quando si ha accesso diretto al server, è consigliabile utilizzare la skill phpcheck‑server. Questa procedura avvia prima un controllo della versione di PHP installata localmente, per poi confrontarla con l’installazione effettivamente utilizzata dal web server (PHP‑FPM, Apache, ecc.).

Il processo è più robusto perché non si affida a dati esposti esternamente, ma legge direttamente le configurazioni del sistema. OpenAI suggerisce comunque di verificare anche il pacchetto installato e gli avvisi del provider, poiché molte distribuzioni Linux applicano correzioni retroportate senza modificare il numero di versione principale.

Passi consigliati per una verifica completa

    • Installare le due skill come descritto nella sezione precedente.
    • Eseguire $phpcheck-server check dal terminale del server.
    • Confrontare la versione locale con quella riportata da PHP‑FPM/Apache.
    • Consultare gli avvisi di sicurezza del proprio gestore di pacchetti (es. apt, yum).
    • Applicare gli aggiornamenti consigliati o le patch specifiche.

Questa sequenza garantisce una valutazione più accurata rispetto a una semplice analisi delle intestazioni HTTP.

Perché lo strumento è utile per amministratori e non esperti

Il valore principale di questo checker risiede nella sua capacità di semplificare una verifica che, altrimenti, richiederebbe conoscenze tecniche avanzate. In pochi secondi Codex può indicare se la versione di PHP esposta da un sito rientra nei range vulnerabili, oppure se non dispone di dati sufficienti per una valutazione.

Quando il risultato è UNKNOWN, lo strumento evita di trarre conclusioni infondate, suggerendo di approfondire l’analisi con metodi più invasivi (come l’uso di phpcheck‑server) o di contattare il proprietario del sito per richiedere informazioni sulla configurazione.

In sintesi, il checker di OpenAI è uno strumento di orientamento: aiuta a decidere se è necessario avviare una revisione più approfondita o se, per il momento, la situazione appare sotto controllo.

Conclusioni

Le vulnerabilità critiche di PHP hanno dimostrato quanto sia importante mantenere aggiornati i propri ambienti di sviluppo e produzione. Grazie alla nuova tool di OpenAI, chiunque gestisca un sito web può effettuare una prima verifica della versione di PHP in modo rapido e sicuro, senza dover installare software aggiuntivo o eseguire complesse query di rete.

Ricordiamo che:

    • Il risultato OK è basato su informazioni pubbliche e non sostituisce una verifica completa.
    • L’esito UNKNOWN indica la necessità di approfondire, soprattutto se si tratta di un proprio server.
    • Per le installazioni proprie, phpcheck‑server fornisce una valutazione più affidabile, ma è sempre consigliabile consultare anche gli avvisi del proprio provider di distribuzione.

Utilizzando queste due skill all’interno di Codex, amministratori, sviluppatori e curiosi possono risparmiare tempo e ridurre il rischio di rimanere ignari di una vulnerabilità critica, contribuendo così a una rete più sicura.