Votre Mac peut perdre sa connexion Internet apres exactement 49 jours
  • 7 avril 2026
  • ComputaSYS
  • 0


Si votre Mac reste allumé un peu trop longtemps, il risque de perdre sa connexion réseau. Des chercheurs de l’entreprise Photon ont fait la découverte de ce bug qui risque de se produire après exactement 49 jours, 17 heures, 2 minutes et 47 secondes d’activité.

Un débordement d’entier fatal pour le noyau macOS

L’origine du problème est un débordement d’entier (ou integer overflow) dans le code source du noyau XNU d’Apple. En effet, une variable nommée tcp_now agit comme une horloge interne pour le protocole réseau TCP. Sa mission est simple : compter les millisecondes depuis le démarrage du système.

Étant définie comme un entier non signé de 32 bits (uint32_t), sa valeur maximale est de 4 294 967 295. Une fois ce plafond atteint – ce qui correspond très exactement à 49,7 jours -, le compteur ne peut plus s’incrémenter ! Conséquence : il repasse à zéro, ce qui est un comportement normal. Le problème, c’est que le noyau de macOS gère très mal cette situation…

Une condition dans le code du noyau est là pour vérifier que le temps s’écoule bien dans le bon sens : l’incrémentation est le seul comportement accepté. Sauf qu’une remise à zéro perturbe cette condition puisque la valeur est soudainement inférieure. Le noyau en déduit une anomalie temporelle et fige définitivement l’horloge TCP.

Lorsque cette horloge interne s’arrête de faire “tic-tac”, c’est tout le système de nettoyage des connexions réseau de macOS qui déraille. Il y a donc un effet domino au niveau du système, avec notamment :

Accumulation sans fin des connexions : lorsqu’une connexion se ferme, elle entre normalement dans un état temporaire nommé TIME_WAIT (qui dure environ 30 secondes sur macOS). Sauf qu’avec ce bug, le délai n’expire plus.

Épuisement des ports : Les connexions fantômes s’empilent et finissent par “consommer” la réserve de ports utilisée par macOS pour la gestion des connexions TCP (une connexion nécessite un port local source et un port de destination).

Blocage des nouvelles requêtes : il arrive un moment où les tentatives de connexion en TCP n’arrivent plus à obtenir de port local. Les connexions réseau échouent.

Ce bug affecte uniquement les connexions TCP, mais comme il s’agit du protocole le plus utilisé (pour le HTTPS, par exemple, à l’exception de HTTP/3), c’est rapidement gênant. D’autres protocoles comme UDP et ICMP continuent de fonctionner.

La seule solution : redémarrer le Mac. Le rapport publié par Photon précise : “La seule solution consiste à redémarrer le système, ce qui remet tcp_now à zéro et relance le compte à rebours de 49,7 jours.”

Qui est concerné par ce bug ?

Apple n’a pas corrigé ce bug qui semble présent depuis au moins macOS Catalina, une version publiée en octobre 2019. En réalité, les utilisateurs grand public de macOS ont peu de chances d’être impacté. Entre les mises à jour système, les arrêts et les redémarrages occasionnels, il est rare qu’un MacBook reste allumé près de 50 jours d’affilée.

Quoique… Quand je vois que de plus en plus de personnes utilisent des Mac pour faire tourner une IA locale, voire même des outils comme OpenClaw, je me dis que cela pourrait bien embêter certains utilisateurs… Ce type d’usage justifie de laisser tourner un Mac 24/7.

Si vous souhaitez des détails supplémentaires, je vous invite à lire le rapport publié par Photon.

Qu’en pensez-vous ?

Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *