Vulnerabilità in PHP che potrebbe compromettere qualsiasi sito PHP

Gli sviluppatori di PHP hanno annunciato la pubblicazione di aggiornamenti correttivi urgenti oggi alle 17:00 (MSK) per le versioni (8.5.12, 8.4.27, 8.3.36 e 8.2.35), che risolveranno due vulnerabilità critiche. È consigliato a tutti gli amministratori di server con PHP di installare immediatamente le patch sui propri sistemi, non appena saranno disponibili. I dettagli ufficiali saranno rivelati solo dopo il rilascio delle patch, ma secondo le informazioni attualmente disponibili, si fa riferimento alle vulnerabilità CVE-2026-109618 e CVE-2026-109619, che potenzialmente consentono l'esecuzione remota di codice su qualsiasi server web che esegue script PHP con la configurazione predefinita. I problemi si manifestano in tutte le versioni a partire da PHP 5.4.

Sono già emersi in rete prototipi di exploit (1, 2) per verificare la vulnerabilità dei sistemi. Nel commento all'exploit si afferma che le vulnerabilità sono causate da un accesso alla memoria già liberata nel gestore di tracciamento del progresso del caricamento file su server (session.upload_progress). Non è richiesta alcuna funzionalità di caricamento file sul sito per eseguire l'attacco; è sufficiente che si attivi automaticamente nel gestore dei contenuti PHP «multipart/form-data». Per un'esploitazione efficace è necessario determinare la disposizione delle strutture in memoria del processo, che è specifica per ogni build (il problema è risolvibile attraverso il tentativo di combinazioni nell'exploit usando offset già calcolati per pacchetti di diverse distribuzioni).

Come soluzione alternativa alla protezione, sono state consigliate impostazioni nel php.ini come «session.upload_progress.enabled = off» (o «php_admin_flag[session.upload_progress.enabled] = off» in PHP-FPM), ma un rappresentante del progetto PHP, insieme all'autore del primo prototipo dell'exploit, sostengono che questo non è sufficiente per bloccare entrambe le vulnerabilità. Nel commento al secondo prototipo dell'exploit si menziona che, oltre alla configurazione sopra citata nel php.ini, per prevenire l'attacco senza l'uso di una patch è necessaria una completa blocco delle richieste con tipo di contenuto «multipart/form-data», il che comporterebbe l'impossibilità di caricare file tramite web form.

In Apache httpd, per bloccare le richieste multipart, è possibile utilizzare la seguente regola in mod_rewrite:

RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ - [F,L]

Per bloccare in nginx:

if ($http_content_type ~* "multipart") {
return 403;
}

Per bloccare in Caddy:

@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403

Aggiornamento: Sono stati pubblicati gli aggiornamenti correttivi PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35, oltre ai dettagli sulle vulnerabilità critiche corrette. L'analisi delle vulnerabilità e le raccomandazioni sui metodi di protezione sono state pubblicate in una notizia separata.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster