Un SMS de huit octets suffit à faire planter un Android non patché, appels d’urgence compris
Le chercheur Mark Blah publie un PoC pour la CVE-2026-58882, un déni de service zéro-clic qui fait planter le processus téléphone d’Android via un message WAP Push de huit octets. Corrigée en silence pour Android 14 à 17, la faille laisse Android 12 et 13 exposés sans correctif.
31 octobre 2026. Le chercheur Mark Blah publie un proof of concept pour la CVE-2026-58882, surnommée « SMS of Death ». Octobre 2026. Google corrige la faille pour Android 14 à 17 — sans la mentionner dans son bulletin de sécurité. Android 12 et 13, eux, restent exposés. Un message WAP Push de huit octets suffit à faire planter le processus téléphone d’un smartphone, et à couper un appel d’urgence en cours.
Une faille de décodage dans le traitement des WAP Push
Le vecteur n’est pas une application, mais un protocole hérité du WAP : le WAP Push, ces messages poussés par l’opérateur pour provisionner un appareil. La faille se situe dans la fonction WapPushOverSms.decodeWapPdu, qui valide mal la valeur d’une longueur d’en-tête avant de s’en servir comme taille d’allocation mémoire.
Concrètement, un attaquant envoie une trame de huit octets, en SMS de données vers le port 2948 :
# Trame WAP Push malformée (8 octets), envoyée en SMS de données vers le port 2948
01 06 88 80 80 80 00 BE Traduite en entier signé 32 bits sans contrôle de bornes, cette valeur devient -2 147 483 648. Android tente alors d’allouer un tableau de taille négative, ce qui déclenche une NegativeArraySizeException et fait tomber le processus com.android.phone — celui qui gère les fonctions cellulaires.
Le résultat est un déni de service zéro-clic : aucune interaction de la victime, et aucun message visible dans la boîte de réception, car Android traite la trame avant qu’elle n’atteigne l’inbox SMS. L’attaque peut couper une communication en cours, y compris un appel vers les secours.
Un correctif invisible, deux versions oubliées
Le point le plus déroutant est la distribution du correctif. Selon le chercheur, Google a intégré la correction — intitulée « Fix remote DoS in decodeWapPdu » — dans les mises à jour de sécurité d’octobre 2026 pour Android 14 à 17. La correction intercepte l’exception déclenchée par le message malformé, et supprime les messages fautifs de la base SMS pour éviter les plantages répétés.
Mais la faille n’apparaît pas dans le bulletin de sécurité d’octobre de Google. Autrement dit, les équipes de sécurité et les gestionnaires de parc ne peuvent pas associer cette mise à jour à un identifiant CVE depuis la documentation officielle. Et surtout, Android 12 et Android 13 n’ont pas reçu le correctif : ces versions restent vulnérables à une trame triviale à produire.
C’est le vrai problème. Un parc d’entreprise contient souvent des appareils anciens, et la disponibilité des mises à jour dépend du fabricant et de l’opérateur. Le PoC étant public, la fenêtre entre sa publication et une correction effective sur tous les appareils reste ouverte pour deux générations entières d’Android.
Le fait que la faille soit absente du bulletin a une conséquence systémique : la transparence des correctifs est une condition de l’hygiène de sécurité. Quand une correction n’est pas documentée, les équipes ne peuvent ni prioriser, ni auditer, ni prouver leur conformité. Ici, seule la publication du PoC par un chercheur indépendant a rendu la CVE publique.
Un protocole hérité, redevenu surface d’attaque
La CVE-2026-58882 rappelle que le SMS reste un canal non authentifié, délivré par l’infrastructure de l’opérateur avant toute barrière utilisateur. Le WAP Push en est l’extension la plus discrète : ces messages, adressés au port 2948, servent encore au provisionnement des réglages opérateur et à la notification des MMS. Android doit donc les traiter en arrière-plan, sans interaction, par conception.
C’est ce traitement silencieux qui transforme un défaut de validation en déni de service zéro-clic. Le message n’apparaît pas dans l’application de messagerie : la victime n’a aucune trace, et les redélivraisons automatiques de l’opérateur peuvent relancer le plantage à l’infini. Les attaques sur la couche signalisation — SS7, Diameter — exploitent cette idée depuis des années ; ici, nul besoin d’accéder au cœur de réseau : une trame de huit octets suffit.
De la panne au reset d’usine
L’impact va au-delà d’un simple redémarrage. Pendant ses tests, le chercheur a constaté qu’envoyer une vingtaine de messages malformés suffisait à enfermer certains téléphones dans une boucle de redémarrage. Sur un appareil sous Android 12, le téléphone redémarrait en mode recovery environ toutes les 90 secondes, forçant un reset d’usine pour récupérer l’appareil.
Car les opérateurs peuvent redélivrer les messages fautifs, et Android peut retraiter ceux déjà stockés sur l’appareil : un seul message devient alors une source de plantages répétés. Un contributeur GitHub, Sakis, a documenté une méthode pour purger les messages fautifs via ADB (Android Debug Bridge), mais elle exige un accès USB, des outils de développement et un minimum de pratique — inaccessible à l’utilisateur lambda.
La conséquence pratique est brutale : face à un attaquant motivé, un utilisateur non technique peut se retrouver avec un téléphone inutilisable, et la seule porte de sortie documentée sans ADB est la remise à zéro complète.
Un simple déni de service, mais un vrai coût
La CVE-2026-58882 n’est pas une exécution de code à distance : elle ne vole pas de données, elle ne chiffre pas de disque. C’est un déni de service. Certains concluront que c’est anodin. C’est une erreur, pour trois raisons. D’abord, couper un appel d’urgence est en soi un préjudice potentiellement vital. Ensuite, la remédiation forcée par reset d’usine efface les données de la victime — un coût réel, même sans vol. Enfin, le coût d’exploitation est proche de zéro : une trame de huit octets, répétée vingt fois, suffit. Le rapport effort / dégât est exceptionnellement défavorable à la victime.
Ce qu’il faut faire
Si vous êtes sur Android 14 à 17, appliquez la mise à jour de sécurité d’octobre 2026 maintenant. Le PoC est public, la barrière technique est nulle, et la faille ne demande aucune interaction. La disponibilité dépend du fabricant et de l’opérateur, mais un redémarrage peut être nécessaire pour finaliser l’installation.
Si vous êtes sur Android 12 ou 13, vous n’avez pas de correctif à appliquer : la faille reste ouverte. Les parades possibles sont imparfaites — désactiver la réception des messages WAP Push quand le réglage existe, ou s’appuyer sur un filtrage côté opérateur — mais le signal est surtout pour les décideurs : un appareil sans mises à jour est une cible triviale, et cette faille le rappelle sans équivoque.
Pour les responsables de parc, deux actions concrètes : inventorier les appareils encore en Android 12 ou 13 et accélérer leur renouvellement, et vérifier auprès de votre MDM que le correctif d’octobre est bien déployé — car il ne figure pas au bulletin, et rien ne vous le signalera automatiquement.
Verdict
Si vos appareils tournent sous Android 14 à 17, corrigez aujourd’hui : la faille est triviale à exploiter, le PoC est public, et le correctif existe déjà. Si un parc contient des Android 12 ou 13, traitez-les comme exposés en permanence : la CVE-2026-58882 ne sera probablement jamais corrigée sur ces versions, et un simple message peut transformer un téléphone en brique. La leçon dépasse cette faille : quand Google corrige en silence et que le bulletin ne liste rien, la seule défense fiable reste le cycle de mises à jour — et les appareils qui en sortent sont des dettes de sécurité, pas des économies.