📅 Source : Présentation LeHack 2026 par Tanguy Dubroca (Synacktiv), publiée le 27/06/2026. Il s’agit d’une recherche offensive personnelle visant à résoudre le problème de bootstrapping sur un appareil fermé.

🎯 Contexte et cible

La cible choisie est le Kindle Paperwhite 5 (2021) sous firmware 5.18.4 / 5.18.6. L’objectif est d’écrire un jailbreak complet sans s’appuyer sur un jailbreak existant pour le débogage. Le firmware embarque un Linux classique avec deux utilisateurs (framework uid 9000 et root uid 0), une interface React Native, et un bus IPC nommé lipc.

🔓 Étape 1 : RCE via Chrome (CVE-2022-1364)

Le Kindle embarque Chrome 75.0.3770.143 (build 2019) et WebKit (build 2011~2012). Chrome est lancé avec --no-sandbox (sandbox désactivée) mais aussi --js-flags="jitless" censé désactiver le JIT V8.

Découverte clé : la syntaxe --js-flags="jitless" est incorrecte (il faudrait --js-flags="--jitless"), ce qui fait que V8 ignore l’option et laisse le JIT activé.

La vulnérabilité exploitée est CVE-2022-1364 :

  • Bug d’optimisation JIT dans TurbofanV8
  • Fuite de la valeur spéciale TheHole vers JavaScript
  • Exploitation via Set/Map avec holes → OOB write → corruption de taille de tableau → primitives fakeobj, addrof, R/W arbitraire
  • Injection de shellcode dans un module WASM JIT

Un ushell est développé en C : shellcode initial se connectant en reverse shell (port 4000 stdout, port 4001 commandes), avec un loader ELF en mémoire pour itérer rapidement.

⬆️ Étape 2 : LPE via appmgrd

Après la RCE, le processus tourne en uid 9000 (framework) dans un chroot. Le dossier /var/local est accessible en écriture et contient appreg.db, la base de configuration d’appmgrd (service root gérant le lancement des applications).

Technique d’escalade de privilèges :

  1. Patch de appreg.db pour copier un payload de /mnt/us (noexec) vers /tmp (exec)
  2. Second patch : lancement de /usr/bin/mesquite --gtk-module=/tmp/payload.so -j
    • mesquite est exécuté comme root quand le flag -j/--jail est présent
    • GTK charge --gtk-module comme une shared library → exécution de code root
  3. Déclenchement via lipc

Cette technique réutilise un vecteur documenté par CheckPoint Research en 2021.

📋 Timeline et divulgation

  • 01/12/2025 : Rapport envoyé au programme VRP Amazon Devices
  • 10/12/2025 : Triage confirmé haute sévérité
  • 29/12/2025 : Amazon élève à critique + bounty 20 000 $
  • 12/01/2026 : Correctif déployé en production (firmware 5.19.2)

📦 Publication

Le code est publié sur GitHub : https://github.com/synacktiv/kindle-overkill. Testé sur PW5 et PW4 uniquement.


🗂️ Type d’article : Publication de recherche offensive / présentation de conférence. But principal : documenter la méthodologie de bootstrapping de recherche sur appareil fermé et partager les techniques d’exploitation utilisées.

🧠 TTPs et IOCs détectés

TTP

  • T1203 — Exploitation for Client Execution (Execution)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
  • T1059 — Command and Scripting Interpreter (Execution)
  • T1574.006 — Hijack Execution Flow: Dynamic Linker Hijacking (Privilege Escalation)
  • T1548 — Abuse Elevation Control Mechanism (Privilege Escalation)
  • T1083 — File and Directory Discovery (Discovery)
  • T1105 — Ingress Tool Transfer (Command and Control)

IOC

  • CVEs : CVE-2022-1364NVD · CIRCL
  • Fichiers : appreg.db
  • Fichiers : payload.so
  • Chemins : /usr/bin/chromium.sqsh
  • Chemins : /usr/bin/browser
  • Chemins : /chroot/usr/bin/chromium/bin/kindle_browser
  • Chemins : /var/local/appreg.db
  • Chemins : /usr/bin/mesquite
  • Chemins : /tmp/payload.so
  • Chemins : /mnt/us

Malware / Outils

  • ushell (tool)
  • kindle-overkill (framework)

🟡 Indice de vérification factuelle : 50/100 (moyenne)

  • ⬜ synacktiv.com — source non référencée (0pts)
  • ✅ 17581 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 10 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 7 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ 0/1 CVE(s) confirmée(s) (0pts)

🔗 Source originale : https://www.synacktiv.com/sites/default/files/2026-06/bootstrapping_kindle_research_lehack_2026.pdf