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
Outils/GitHubGitHub/defineid/palimpsest
Génération de PayloadsAnalyse des VulnérabilitésExploitationSécurité Web
GitHubdefineid/palimpsest

Palimpsest

CVE-2026-74945 · Divulgation de tas non initialisé via une police web spécialement conçue (sec-high)

Voir le dépôt
il y a 2 joursPas 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

Palimpsest

CVE-2026-74945 · Divulgation de tas non initialisé via une police web contrefaite

Sévérité : haute. CWE 908 et CWE 200. Corrigé dans Firefox 154. Bugzilla 2057808. Atteignable depuis une page web ordinaire via @font-face.

Résumé

Firefox assainit les polices web via OTS avant utilisation. Trois défauts se combinent pour qu'une police contrefaite transmette à la page du tas de processus non initialisé. Un seul appel measureText le lit environ deux octets à la fois sur une fenêtre de 64 Ko.

Cause racine

Le flux de sortie d'OTS croît avec moz_xrealloc, qui ne remet jamais à zéro la mémoire. Son Seek accepte toute position jusqu'à la taille d'allocation et ne remplit jamais l'écart de zéros. forget dimensionne le tampon à l'offset le plus élevé atteint. Tout écart entre la dernière écriture et un Seek vers l'avant est donc transmis à l'appelant avec l'ancien tas.

Une sous-table cmap de format 14 avec un grand nonDefaultUVSOffset fait avancer le Seek du sérialiseur et laisse l'écart à l'intérieur de la police émise. Une sous-table de format 4 associée, avec un id_range_offset impair sur le dernier segment, est émise telle quelle. La vérification des limites de la recherche de glyphe utilise le reste de la cmap entière plutôt que la sous-table. Un saut dans la région voisine de la sous-table passe.

MapCharToGlyphFormat4 atterrit sur le segment contrefait et renvoie un identifiant de glyphe lu dans l'écart. Son avancement hmtx est directement mesurable depuis le canvas.

Le déroulement

Écart non initialisé divulgué via measureText

Reproduire

root@kitploit:~
pip install fonttools brotli
python3 make_poc_font.py        # builds poc.woff
# serve this folder and open poc.html

poc.html affiche la largeur d'avance de U+FFFF à chaque lecture. Chaque valeur suit un identifiant de glyphe lu dans l'écart. Pour voir des octets non initialisés non nuls, utilisez une version MSan ou avec mozjemalloc rempli de déchets. Affecté sous Windows via DWrite et sous macOS via CoreText. OTS s'exécute dans le processus et n'est pas sandboxé.

Impact

Une divulgation contrôlable par le web et répétable du tas de processus non initialisé. Elle peut révéler des pointeurs ou des secrets.

Correctif

Deux changements. L'un ou l'autre rompt la chaîne. Remettre à zéro la plage nouvellement allouée dans le flux de sortie d'OTS. Vérifier la longueur de la sous-table de format 4 afin que la recherche ne puisse pas être bornée par le reste de la cmap. Firefox a intégré les deux.

Crédits

Abdulaziz Alasaiqah · https://azoz.my/writeups.html

Télécharger l’outil