Apache HTTP Server è uno dei server web più diffusi su Internet, agendo come infrastruttura portante per una parte significativa di applicazioni, API e servizi esposti al web. La sua affidabilità è fondamentale per la disponibilità di numerose attività online.
Questa vulnerabilità presenta un alto rischio di Denial of Service (DoS) remoto non autenticato. Un attaccante può mandare in crash qualsiasi server Apache vulnerabile e accessibile pubblicamente senza necessità di credenziali o accesso preventivo. Ciò rende possibile attacchi semplici e ripetibili che possono causare significativi tempi di inattività del servizio, con conseguente perdita di ricavi, insoddisfazione dei clienti e danni reputazionali.
Sebbene questa specifica CVE non sia ancora presente nel catalogo delle Vulnerabilità Sfruttate Conosciute (KEV) della CISA, è una variante del noto attacco HTTP/2 Rapid Reset (CVE-2023-44487), ampiamente sfruttato in natura. È disponibile un exploit proof-of-concept pubblico per CVE-2023-45802, abbassando notevolmente la barriera per gli attaccanti. Qualsiasi organizzazione che esegue un server Apache HTTP Server esposto pubblicamente con il modulo mod_http2 abilitato è a rischio immediato.
| Prodotto | Apache HTTP Server |
| Data | 2025-12-06 12:29:58 |
Riassunto tecnico
La causa principale di questa vulnerabilità è una perdita di memoria (CWE-401: Mancato rilascio della memoria dopo il termine del ciclo di vita) all’interno del modulo mod_http2 del server. Il software non dealloca correttamente la memoria associata a uno stream HTTP/2 quando questo viene annullato da un client tramite un frame RST_STREAM.
La sequenza tecnica dell’attacco è la seguente:
- Un attaccante stabilisce una connessione HTTP/2 persistente con un server vulnerabile.
- L’attaccante invia una richiesta per avviare un nuovo stream.
- Immediatamente dopo l’invio della richiesta, l’attaccante invia un frame
RST_STREAMper annullare quello stesso stream. - L’handler
mod_http2elabora il reset ma non rilascia la memoria allocata per il contesto della richiesta iniziale. - L’attaccante ripete questo ciclo “richiesta e reset” migliaia di volte sulla stessa connessione, facendo crescere linearmente e senza limiti il consumo di memoria del server Apache. Alla fine, il sistema operativo termina il processo per evitare instabilità su tutto il sistema, provocando un Denial of Service.
// Conceptual pseudo-code of the flawed logic
void handle_stream_reset(h2_stream* stream) {
// Logic to tear down the stream is executed.
// ...
// VULNERABILITY: The memory allocated for the stream's
// request context and associated data is NOT released here.
// free(stream->request_memory); // <-- This step is missing.
}
- Versioni affette: Apache HTTP Server 2.4.57 e 2.4.58.
- Versione corretta: Apache HTTP Server 2.4.59 e successive.
Raccomandazioni
-
Patch immediata: Aggiornare tutte le istanze di Apache HTTP Server alla versione corretta 2.4.59 o successiva. Questa è la forma di mitigazione più efficace.
-
Mitigazioni:
- Se non è possibile eseguire subito l’aggiornamento, considerare la disattivazione temporanea del protocollo HTTP/2. Ciò può essere fatto commentando la riga
LoadModule http2_modulenella configurazione del server e riavviando il servizio. Si noti che questo può avere implicazioni sulle prestazioni delle applicazioni web. - Posizionare il server dietro un reverse proxy, un load balancer o una Content Delivery Network (CDN) che abbia implementato mitigazioni contro attacchi DoS basati su HTTP/2 come Rapid Reset.
- Se non è possibile eseguire subito l’aggiornamento, considerare la disattivazione temporanea del protocollo HTTP/2. Ciò può essere fatto commentando la riga
-
Threat hunting & monitoraggio:
- Implementare e monitorare allarmi per aumenti anomali e prolungati nell’utilizzo della memoria per i processi del server
httpd(o equivalente). La crescita di memoria derivante da questo attacco è costante e normalmente non decresce nel tempo. - Sebbene difficile da rilevare nei log standard, monitoraggi di rete specializzati o log da Web Application Firewall (WAF) possono rivelare IP client singoli che stabiliscono connessioni HTTP/2 persistenti con un tasso anomalo di creazione e reset di stream.
- Implementare e monitorare allarmi per aumenti anomali e prolungati nell’utilizzo della memoria per i processi del server
-
Risposta agli incidenti:
- Se l’attacco è in corso, identificare l’indirizzo IP di origine e applicare un blocco temporaneo a livello di firewall di rete o dispositivo perimetrale.
- Prima di riavviare un processo server andato in crash, tentare di raccogliere un dump di memoria per analisi forense nel caso sia previsto dalle procedure di risposta agli incidenti.
-
Difesa in profondità:
- Assicurarsi che siano attivi sistemi di monitoraggio e allerta automatizzati per tutti i parametri critici di salute del server, inclusi memoria, CPU e numero di connessioni.
- Implementare un Web Application Firewall (WAF) con capacità di ispezione e limitazione del traffico HTTP/2 per prevenire comportamenti abusivi.