🔍 Contexte

Publié le 29 octobre 2026 sur smsofdeath.com par le chercheur Mark B (alias @sourone), cet article constitue une divulgation publique complète d’une vulnérabilité zero-click affectant le framework téléphonie d’Android. La vulnérabilité a été signalée à Google le 5 mai 2026 et corrigée dans la mise à jour de sécurité Android d’octobre 2026.

🐛 Vulnérabilité technique

Le composant WapPushOverSms.java (frameworks/opt/telephony) contient un cast non borné d’une valeur long vers int lors du décodage de l’en-tête WSP d’un message WAP Push :

  • La longueur d’en-tête est lue comme long via pduDecoder.getValue32()
  • Elle est castée en int sans vérification de plage
  • Une séquence uintvar de 5 octets (88 80 80 80 00) décode en 0x80000000, soit -2147483648 en signé 32 bits
  • L’allocation new byte[-2147483648] lève une NegativeArraySizeException non interceptée sur le thread principal de com.android.phone

Le message est livré comme SMS de données, invisible dans la boîte de réception, sans affichage du numéro expéditeur.

💥 Impact

  • Zero-click : aucune interaction de la victime requise
  • Silencieux : aucune notification, numéro de l’attaquant jamais affiché
  • Coupure des appels actifs (y compris appels d’urgence) via DisconnectCause.CS_DEATH
  • Blackout téléphonie de 1 à 2 secondes par message
  • Rélivraison par l’opérateur : les messages non acquittés sont renvoyés, amplifiant l’attaque
  • ~20 messages rendent le dispositif inutilisable durablement
  • DoS persistant au démarrage : le message malformé reste en file d’attente et re-crashe le téléphone à chaque boot, forçant un cycle de redémarrage toutes les ~90 secondes
  • Testé avec un taux de reproduction de 100% sur Pixel 9 (firmware avril 2026), Samsung Galaxy et A-series

📦 Versions affectées

  • Android 12 à 16 : vulnérables, non patchés pour 12 et 13
  • Android 14 à 17 : corrigés dans la mise à jour de sécurité d’octobre 2026

🔧 Correctif

Google a publié le commit 735d967 (“Fix remote DoS in decodeWapPdu”, autheur le 15 juin 2026) qui :

  • Élargit le catch pour couvrir RuntimeException (incluant NegativeArraySizeException)
  • Supprime le message poison de la table raw pour éviter les re-crashs au démarrage

🛠️ Preuve de concept

Un APK et le code source sont publiés sur GitHub (github.com/MarkBlah/smsofdeath) sous licence Apache 2.0. L’outil envoie le PDU WAP Push malformé comme SMS de données vers un numéro cible.

📄 Type d’article

Il s’agit d’une publication de recherche / divulgation complète (full disclosure) incluant analyse technique, preuve de concept, procédure de récupération et détails du correctif, destinée à la communauté de sécurité et aux chercheurs.

🧠 TTPs et IOCs détectés

TTP

  • T1499 — Endpoint Denial of Service (Impact)
  • T1499.004 — Application or System Exploitation (Impact)
  • T1203 — Exploitation for Client Execution (Execution)

IOC

  • Fichiers : WapPushOverSms.java
  • Chemins : content://sms/raw

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 31 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

  • SMS of Death PoC APK (tool)

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

  • ⬜ smsofdeath.com — source non référencée (0pts)
  • ✅ 9211 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 2 IOC(s) (6pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 3 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://smsofdeath.com/