🔍 Contexte

PubliĂ© le 24 octobre 2026 sur GitHub (blasty/wake-and-break), cet article est la documentation technique d’un exploit ciblant le Platform Security Processor (PSP) des cartes graphiques AMD de la sĂ©rie Navi31 (RX 7900).

⚙ MĂ©canisme technique

L’exploit, baptisĂ© Wake and Break, neutralise la vĂ©rification de signature firmware du PSP AMD en modifiant la mĂ©moire PSP Ă  la volĂ©e lors d’un warm boot de la carte. Il ne flashe rien de maniĂšre permanente : un cold power cycle (coupure d’alimentation) restaure l’Ă©tat d’origine.

Le processus repose sur :

  • Le chargement de deux applications de confiance AMD (trusted applications) dĂ©jĂ  prĂ©sentes
  • L’exploitation d’une chaĂźne permettant l’Ă©criture en mĂ©moire PSP
  • L’injection d’un patch (quelques centaines d’octets d’assembleur ARM) dans la copie rĂ©sidente du bootloader
  • Un warm boot de la carte qui dĂ©marre avec le patch actif

Une fois actif, la carte accepte du firmware non signé pour les composants : SMU, SDMA, MEC, IMU, RLC.

đŸ› ïž Outils fournis

  • wakebreak.py : script principal (~600 lignes commentĂ©es)
  • identify.py : identification du profil firmware de la carte
  • ipfw_images.py : gĂ©nĂ©ration de paires firmware signĂ©/altĂ©rĂ© pour test
  • selftest.py : vĂ©rifications hors ligne
  • hook/ : sources ARM et blobs compilĂ©s du patch
  • firmware/ : images firmware AMD stock nĂ©cessaires Ă  l’exploit

🎯 MatĂ©riel ciblĂ©

  • ConfirmĂ© : RX 7900 XTX (profils a et c)
  • Non testĂ© sur hardware : profils b et d
  • Potentiellement adaptable Ă  d’autres familles de produits AMD adjacentes
  • NĂ©cessite un hĂŽte Linux avec accĂšs Ă  la carte via le driver AMD de tinygrad (PCIe ou pont USB)

⚠ Risques opĂ©rationnels

Si la carte est connectĂ©e nativement (PCIe), un Ă©chec du PSP pendant le warm boot peut bloquer l’hĂŽte entier (pas de log kernel, pas de MCE, nĂ©cessite un power cycle via BMC). DerriĂšre un pont USB, seule la carte est affectĂ©e.

📋 Type d’article

Il s’agit d’une publication de recherche / proof-of-concept documentant une vulnĂ©rabilitĂ© de sĂ©curitĂ© matĂ©rielle avec code d’exploitation fonctionnel, visant Ă  dĂ©montrer la possibilitĂ© de contourner les contrĂŽles d’intĂ©gritĂ© firmware sur les GPU AMD Navi31.

🧠 TTPs et IOCs dĂ©tectĂ©s

TTP

  • T1542 — Pre-OS Boot (Defense Evasion)
  • T1601 — Modify System Image (Defense Evasion)
  • T1601.001 — Patch System Image (Defense Evasion)

IOC

  • Fichiers : wakebreak.py
  • Fichiers : identify.py
  • Fichiers : ipfw_images.py
  • Fichiers : selftest.py
  • Chemins : /tmp/fw_25_ok.bin
  • Chemins : /tmp/fw_25_bad.bin

⚠ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 27 octobre 2026 et n’ont pas fait l’objet d’une vĂ©rification externe. Un indicateur peut avoir Ă©tĂ© rĂ©attribuĂ© depuis : une IP de C2 peut redevenir un service lĂ©gitime, un domaine sinkholĂ© peut changer de propriĂ©taire. Aucune garantie d’exactitude ni d’actualitĂ© — contrĂŽlez leur validitĂ© avant tout usage opĂ©rationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • Wake and Break (wakebreak.py) (tool)

🟡 Indice de vĂ©rification factuelle : 40/100 (moyenne)

  • ⬜ github.com — source non rĂ©fĂ©rencĂ©e (0pts)
  • ✅ 4977 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 6 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vĂ©rifiĂ© (0pts)
  • ✅ 3 TTPs MITRE identifiĂ©es (15pts)
  • ⬜ date RSS ou approximĂ©e (0pts)
  • ⬜ aucun acteur de menace nommĂ© (0pts)
  • ⬜ pas de CVE Ă  vĂ©rifier (0pts)

🔗 Source originale : https://github.com/blasty/wake-and-break