Aller au contenu
InYourGeek
visiteur@inyourgeek — console
compléter historique ouvrirhelp
EN
Sécurité· 3 min de lecture

Un shader WebGPU fige les Mac Apple Silicon, Apple ne corrige pas

Une page web portant un shader WebGPU gèle l'affichage des Mac à puce M et provoque leur redémarrage, dans les trois navigateurs testés. Apple a reproduit le bug, puis fermé le rapport le 26 août sans correctif.

Illustration sombre : un ordinateur portable ouvert sur un bureau encombré, l'écran figé sur une image brouillée traversée d'une bande lumineuse ambrée. Devant lui, un chat tigré immobile lève une patte, les pupilles dilatées, comme s'il attendait une réaction de la machine. Des câbles se perdent dans l'obscurité et une lampe diffuse une lueur dorée.

Un clic, un écran perdu

Le 11 septembre 2026, Korben relaie les travaux d’Auberon López, qui a publié sur son blog une page web tenant dans un seul fichier HTML. Un clic suffit à figer l’affichage d’un Mac à puce M sous macOS Tahoe. Le symptôme varie d’une fois sur l’autre : roue multicolore, souris bloquée, parfois des artefacts magenta sur une partie de l’écran. Le reste de la machine continue de fonctionner — une connexion SSH depuis un autre poste répond normalement. Seul l’affichage est perdu, et il ne revient pas sans redémarrage.

À ce stade, une précision s’impose : nous n’avons qu’une seule source sur cet épisode, l’article cité ci-dessus. Ce qui suit est donc à lire comme le compte rendu qu’il en fait.

Une boucle sans sortie, et tout attend derrière

Le mécanisme tient en deux morceaux. Un compute shader entre dans une boucle écrite sans incrément, donc sans condition d’arrêt, et recopie indéfiniment le même vecteur en mémoire. Le vertex shader chargé de dessiner l’image lit cette même zone et attend un tour qui ne vient jamais.

L’embouteillage ne reste pas confiné à l’onglet. Tous les processus qui réclament le GPU se retrouvent en file derrière lui, WindowServer compris — c’est-à-dire le processus qui dessine tout ce que vous voyez. macOS le surveille : passé deux minutes sans réponse, le chien de garde déclenche un kernel panic et la machine redémarre.

López indique avoir reproduit le comportement dans Chrome, Firefox et Safari. Le choix du navigateur ne protège donc de rien : la couche qui cède est en dessous.

Le garde-fou que Windows a et qu’Apple Silicon n’a pas

Sur les autres systèmes testés, l’onglet rame un moment, puis tout rentre dans l’ordre dès la fermeture de la page. Windows embarque un mécanisme nommé TDR, qui détecte qu’une carte graphique dépasse le délai prévu — deux secondes par défaut — et la réinitialise.

Sur Apple Silicon, le GPU est piloté par l’ASC, un coprocesseur maison tournant sous firmware Apple, qui gère l’énergie, l’ordonnancement des commandes et la préemption des tâches. Asahi Lina, qui a rétro-conçu la puce M1 pour écrire un pilote Linux, a relevé que lorsque ce firmware se plante, la seule issue est un redémarrage complet de la machine.

Un rapport reproduit, puis classé

López a signalé le problème à Apple Security fin juillet 2026. Apple a reproduit le bug, annoncé un correctif et communiqué un calendrier, resté confidentiel. Le 26 août, revirement : l’entreprise déclare ne voir « aucune implication de sécurité dans ce rapport », qui n’entraînera donc aucun changement produit. Le dossier a été transféré à une autre équipe pour d’éventuelles « considérations d’amélioration ».

Ce n’est pas le premier shader à mettre à genoux du matériel Apple. En 2023, Ron Masas, d’Imperva, avait fait planter des Mac, des iPhone et des iPad avec un shader WebGL ; Apple avait publié le CVE-2023-40441, noté 6,5 sur 10, et l’avait corrigé en renforçant la validation des entrées pour repérer les boucles folles. La différence est décisive : cette boucle-là était énorme mais finie, donc détectable. Celle-ci ne se termine jamais, et décider à coup sûr si un programme s’arrête est le problème de l’arrêt — personne ne sait le faire.

Selon López, les chercheurs en sécurité avec qui la question a été discutée donnent plutôt raison à Apple : un plantage, un gel ou une perte de données récupérable ne relèvent pas de la sécurité au sens strict. L’argument se tient sur le principe. Il tient moins bien quand le déclencheur est un lien reçu par message et que le travail non enregistré part avec.

En attendant, il n’y a rien à installer et rien à attendre de Cupertino. Le seul conseil applicable ce soir est celui qu’on répète depuis toujours : enregistrez avant de cliquer.

Sources (1)

PartagerXLinkedInFacebookBluesky

Article rédigé avec l'assistance d'une IA à partir des sources citées, puis relu et validé avant publication par Sébastien Soulier.