
Proof-of-Concept, der eine Umgehung der Firmware-Signaturprüfung bei Phison-S11-SSDs demonstriert und es Angreifern ermöglicht, modifizierte Firmware durch Einbetten eines eigenen RSA-Modulus neu zu signieren.
Proof-of-Concept für CVE-2026-82876 (CVSS 3.1: 8.2 Hoch / CVSS 4.0: 9.3 Kritisch, CWE-347): Der Phison-PS3111-S11-SATA-SSD-Controller prüft RSA-Signaturen für Firmware-Updates gegen einen öffentlichen Modulus, der im Firmware-Image selbst eingebettet ist, statt gegen einen in unveränderlichem Controller-Speicher verankerten Modulus. Jeder kann ein eigenes RSA-Schlüsselpaar erzeugen, modifizierte Firmware neu signieren, den passenden Modulus einbetten — und jedes Laufwerk auf S11-Basis akzeptiert das manipulierte Image als echt.
Zugehöriges Advisory: CVE-2026-84696 (CWE-306) — privilegierte herstellerspezifische Befehle (VUCs), die über die ATA-Schnittstelle ohne oder mit überwindbarer Authentifizierung (CRC-16-Challenge-Response) verfügbar sind und Lese-/Schreibzugriff auf den Controller-Speicher und das rohe NAND ermöglichen — d. h. dieselbe Implantat-Persistenz, ohne überhaupt den Firmware-Update-Pfad zu nutzen.
Sicherheitsforschung von Michael Herbert (trulycrisp). CVEs veröffentlicht am 31. Aug. / 2. Sep. 2026 (NVD), Advisories von VulnCheck.
forge_signature.py ist eine logikbasierte, abhängigkeitsfreie Demonstration —
reine Python-3-Standardbibliothek, keine Hardware erforderlich:
.BIN-Layout
nachbildet (512-Byte-Header | Burner-Code | 3072-Byte-Signatursegment | normaler Code)
sowie eine echte RSA-2048/PKCS#1-v1.5/SHA-256-Signatur darüber.+768 des Images gelesen.$ python3 forge_signature.py
Dauert ca. 5–15 s (zwei reine Python-RSA-2048-Schlüsselerzeugungen). Keine Drittanbieter-Pakete.
Dieses Repository stoppt bewusst auf der Logikebene. Für die Arbeit mit tatsächlicher S11-basierter Hardware verwenden Sie die eigene Toolchain des Forschers (Python):
$ git clone https://github.com/trulycrisp/psychite
$ cd psychite && python3 -m pip install -e .
$ example/drive_info.py /dev/sg0 # Laufwerk identifizieren
$ example/read_firmware.py /dev/sg0 firmware.bin # installierte Firmware auslesen
$ example/firmware_tool.py unpack firmware.bin fw/ # zur Modifikation entpacken
$ example/firmware_tool.py pack fw/ firmware.bin # neu verpacken
$ example/update_firmware.py firmware.bin /dev/sg0 # installieren (GEFÄHRLICH)
Um die VUC-Sperrlage eines Laufwerks zu prüfen (nur lesende Checks), verwenden Sie disksec:
$ disksec list
$ disksec run /dev/sg0 -vv -o report.txt
Phison-PS3111-S11-Controller-Firmware ≤ SBFQT1.3 — zum Zeitpunkt dieses Schreibens ist kein Fix verfügbar. Der S11 versorgt einen großen Anteil der Budget-SATA-SSDs, darunter (laut Hardware-Tabelle des Forschers): Kingston A400 / Q500, Toshiba/Kioxia TR200, PNY CS900 / CS2040 / Elite, Seagate BarraCuda Q1, Silicon Power A58, Patriot Burst, MSI S270, Team GX1 und viele weitere.
Dieser Code dient ausschließlich autorisierter Sicherheitsforschung und Bildung. Flashen Sie Firmware nur auf Laufwerke, die Ihnen gehören. Modifizierte Firmware kann das Laufwerk dauerhaft unbrauchbar machen, und das Installieren von Implantaten auf Laufwerken, die Ihnen nicht gehören, ist in den meisten Rechtsordnungen eine Straftat.