Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/defineid/palimpsest
Payload-GenerierungSchwachstellenanalyseExploitationWebsicherheit
GitHubdefineid/palimpsest

Palimpsest

CVE-2026-74945 · Offenlegung von nicht initialisiertem Heap-Speicher über eine präparierte Webschriftart (sec-high)

Repository anzeigen
vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Palimpsest

CVE-2026-74945 · Uninitialisierte Heap-Offenlegung durch eine manipulierte Webschriftart

Schweregrad: hoch (Sicherheit). CWE 908 und CWE 200. Behoben in Firefox 154. Bugzilla 2057808. Über eine normale Webseite durch @font-face erreichbar.

Zusammenfassung

Firefox bereinigt Webschriftarten vor der Verwendung durch OTS. Drei Fehler greifen ineinander, sodass eine manipulierte Schriftart nicht initialisierten Prozess-Heap an die Seite zurückgibt. Ein einzelner measureText-Aufruf liest ihn über ein 64-KB-Fenster etwa zwei Bytes auf einmal aus.

Grundursache

Der OTS-Ausgabestrom wächst mit moz_xrealloc, das den Speicher nie nullt. Sein Seek akzeptiert jede Position bis zur Allokationsgröße und füllt die Lücke nie mit Nullen. forget dimensioniert den Puffer bis zum höchsten erreichten Offset. Jede Lücke zwischen dem letzten Schreibvorgang und einem Vorwärts-Seek wird daher mit altem Heap-Inhalt an den Aufrufer übergeben.

Eine cmap-Format-14-Untertabelle mit einem großen nonDefaultUVSOffset veranlasst den Serializer, vorwärts zu seeken und die Lücke innerhalb der ausgegebenen Schriftart zu hinterlassen. Eine begleitende Format-4-Untertabelle mit einem ungeraden id_range_offset im letzten Segment wird unverändert ausgegeben. Die Grenzprüfung der Glyphensuche verwendet den Rest der gesamten cmap statt der Untertabelle. Ein Sprung in die benachbarte Untertabellenregion passiert die Prüfung.

MapCharToGlyphFormat4 landet auf dem manipulierten Segment und gibt eine aus der Lücke gelesene Glyphen-ID zurück. Die zugehörige hmtx-Fortschrittsbreite ist direkt von der Canvas aus messbar.

Der Ablauf

Nicht initialisierte Lücke über measureText geleakt

Reproduktion

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

poc.html gibt die Fortschrittsbreite von U+FFFF bei jedem Lesevorgang aus. Jeder Wert verfolgt eine aus der Lücke gelesene Glyphen-ID. Um nicht initialisierte Bytes ungleich Null zu sehen, verwenden Sie einen MSan-Build oder einen mit Junk füllenden mozjemalloc-Build. Betroffen sind Windows über DWrite und macOS über CoreText. OTS läuft prozessintern und ist nicht in einer Sandbox.

Auswirkungen

Eine über das Web steuerbare und wiederholbare Offenlegung von nicht initialisiertem Prozess-Heap. Sie kann Zeiger oder Geheimnisse offenlegen.

Behebung

Zwei Änderungen. Jede einzelne unterbricht die Kette. Den neu allokierten Bereich im OTS-Ausgabestrom mit Nullen füllen. Die Länge der Format-4-Untertabelle prüfen, damit die Suche nicht gegen den Rest der cmap begrenzen kann. Firefox hat beide Änderungen übernommen.

Danksagung

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

Tool herunterladen