Un bug SMS à zéro clic sur Android provoque un déni de service persistant
Un message WAP Push malformé fait planter les services de téléphonie d'Android, créant une boucle de redémarrage qui bloque les appels d'urgence et peut entraîner des bannissements par les opérateurs.
Traduit automatiquement depuis l'original anglais.
Une vulnérabilité critique à zéro clic dans Android permet aux attaquants de désactiver à distance des appareils mobiles en envoyant un seul SMS de données malformé. Découverte et signalée à la mi-2026, cette faille affecte plusieurs fabricants d'appareils et persiste après les redémarrages jusqu'à ce qu'elle soit effacée manuellement ou corrigée. Google a résolu le problème dans la mise à jour de sécurité d'octobre 2026, mais les appareils non corrigés restent exposés au risque d'une interruption permanente du service.
Ce qui s'est passé
La vulnérabilité cible la manière dont Android traite les messages WAP Push, un protocole hérité utilisé pour transmettre des paramètres de configuration et du contenu multimédia via SMS. Contrairement aux messages texte standard, ces SMS de données sont traités silencieusement en arrière-plan sans interaction utilisateur ni notification visible. Un attaquant n'a besoin que du numéro de téléphone de la victime pour envoyer un paquet spécialement conçu qui déclenche un plantage dans le sous-système de téléphonie.
Lorsque le message malveillant arrive, le processus com.android.phone plante immédiatement. Cela provoque la coupure des appels vocaux actifs avec une erreur DisconnectCause CS_DEATH et crée une brève panne de téléphonie durant une à deux secondes. Comme les opérateurs relivrent automatiquement les messages non accusés réception, le téléphone entre dans un cycle destructeur. Chaque tentative de relivraison re-déclenche le plantage, entraînant des pannes intermittentes pouvant durer plusieurs jours. Lors des tests, environ vingt de ces messages ont rendu les appareils complètement inutilisables pendant de longues périodes.
L'impact est particulièrement grave car le message malformé reste en file d'attente dans le système. À chaque démarrage de l'appareil, celui-ci tente de traiter le message en attente, plante à nouveau et redémarre. Cette boucle continue jusqu'à ce que le message soit supprimé ou que l'appareil soit réinitialisé aux paramètres d'usine. Le problème a été reproduit avec une cohérence de 100 % sur les appareils Pixel 9 fonctionnant avec le firmware d'avril 2026, ainsi que sur divers modèles Samsung Galaxy et série A.
Comment cela fonctionne
La cause profonde réside dans la façon dont le framework Android décode les Unités de Données du Protocole WAP Push (PDU). Plus précisément, le composant WapPushOverSms.java ne valide pas la longueur des données d'en-tête avant de les convertir en entier. Lorsqu'un PDU malveillant contient une valeur de longueur d'en-tête négative ou dépassant la taille réelle du paquet, le système génère une exception qui n'était auparavant pas capturée par la logique de gestion des erreurs. Cette exception non gérée fait planter l'ensemble du processus de téléphonie.
La correction initiale recommandée par Google impliquait d'ajouter une vérification des limites pour valider la longueur de l'en-tête avant le traitement. Cependant, le correctif final inclus dans la version de sécurité d'octobre 2026 adopte une approche différente. Au lieu de simplement valider l'entrée, les ingénieurs ont élargi le gestionnaire d'exceptions pour capturer toutes les erreurs RuntimeException lors du décodage. Crucialement, le code mis à jour supprime désormais le message toxique de la table de stockage brut si le décodage échoue. Cela empêche le message d'être réessayé lors des démarrages suivants ou des relivraisons par l'opérateur, brisant ainsi effectivement la boucle de déni de service.
Détails clés
- Exploitation à zéro clic : Aucune interaction utilisateur n'est requise ; le message n'apparaît jamais dans la boîte de réception.
- DoS persistant : Le message malformé survit aux redémarrages, provoquant une boucle de plantage toutes les ~90 secondes via Android RescueParty.
- Échec des appels d'urgence : Les appels actifs sont coupés et l'appareil ne peut pas se connecter de manière fiable aux services d'urgence comme le 000.
- Amplification par l'opérateur : La relivraison réseau des messages non accusés réception maintient l'attaque sans nouvelle intervention de l'attaquant.
- Complexité de la récupération : La suppression du message nécessite un accès ADB pour supprimer des lignes spécifiques de
content://sms/raw, ce qui est difficile pour les utilisateurs non techniques. - Disponibilité du correctif : La correction est incluse dans la mise à jour de sécurité Android d'octobre 2026 pour Android 14 à 17.
Pourquoi c'est important
Pour les ingénieurs logiciels et les professionnels de la sécurité, cette vulnérabilité met en évidence les dangers de la confiance implicite envers les protocoles hérités. WAP Push est une technologie ancienne, pourtant elle reste intégrée dans les stacks Android modernes. L'absence de validation des longueurs d'entrée avant la conversion de type est une erreur classique qui a conduit à un déni de service distant et persistant. Elle démontre que même les processus silencieux en arrière-plan peuvent avoir des effets catastrophiques sur la disponibilité de l'appareil si la gestion des erreurs est insuffisante.
Les implications plus larges vont au-delà de l'inconvénient technique. En Australie, l'accès aux appels d'urgence est une exigence réglementaire obligatoire. Selon la Détermination sur le Service d'Appels d'Urgence (Telecommunications (Emergency Call Service) Determination), les opérateurs doivent identifier et bloquer les appareils incapables d'atteindre les services d'urgence. Si un téléphone est coincé dans une boucle de plantage, il ne peut pas composer le 000. Par conséquent, les opérateurs sont tenus de couper le service au terminal affecté après 28 jours si le problème n'est pas résolu. Cela crée un résultat pervers où une attaque réussie entraîne le bannissement complet de l'appareil de la victime du réseau, plutôt qu'une simple interruption temporaire.
Que pouvez-vous faire
- Mettez à jour immédiatement : Assurez-vous que votre appareil dispose du correctif de sécurité Android d'octobre 2026 ou ultérieur.
- Vérifiez le niveau de correctif : Consultez Paramètres > Sécurité > Mise à jour de sécurité pour confirmer votre niveau de correctif actuel.
- Utilisez ADB pour la récupération : Si vous êtes coincé dans une boucle de redémarrage, utilisez Android Debug Bridge pour interroger et supprimer les lignes de
content://sms/rawoù le port de destination est 134020. - Évitez la réinitialisation d'usine : Ne sélectionnez pas "effacer les données" en mode recovery sauf si absolument nécessaire, car cela efface toutes les données utilisateur.
- Restreignez les permissions SMS : Bien que ce ne soit pas une solution complète, limiter les applications autorisées à envoyer ou recevoir des SMS peut réduire l'exposition à d'autres vecteurs.
- Surveillez les avis de l'opérateur : Soyez conscient qu'une incapacité prolongée à passer des appels d'urgence peut entraîner une suspension automatique du service par votre opérateur.



