GitHub a désactivé 73 dépôts appartenant à Microsoft en l'espace de 105 secondes, le temps de couper la propagation d'un ver baptisé Miasma.
Un ver, vous le savez, c'est ce genre de logiciel malveillant qui se recopie tout seul d'un projet à l'autre, sans la moindre intervention humaine. Celui-là s'attaque directement aux développeurs, et plus précisément à leurs outils.
Tout est parti du dépôt Azure/durabletask. Un compte de contributeur compromis y a poussé un commit piégé, qui déposait au passage quelques fichiers de configuration. Anodin, en apparence.
Sauf que ces fichiers déclenchaient une exécution de code à distance, autrement dit l'attaquant faisait tourner son propre code sur votre machine, dès l'instant où vous ouvriez le dépôt dans un éditeur. Et pas n'importe lesquels : les assistants de codage dopés à l'IA étaient explicitement visés, Claude Code, Gemini CLI et Cursor en tête. Objectif, siphonner les secrets d'accès au cloud et les configurations des outils de développement, surtout sous Linux.
La purge a frappé quatre organisations GitHub de Microsoft d'un coup : toute l'org Azure Functions, l'ensemble de la famille Durable Task, et une série d'applications-exemples destinées à l'IA.
Problème, parmi les dépôts désactivés se trouvait Azure/functions-action, une brique que des milliers de projets appellent dans leurs chaînes d'automatisation, celles qui compilent et déploient le code sans intervention manuelle. Du coup, dès que functions-action@v1 a cessé de répondre, des pipelines entiers se sont effondrés en cascade, bien au-delà des serveurs de Microsoft.
Ce n'est pas la première sortie de Miasma. Le 19 mai, le ver visait déjà le paquet durabletask sur PyPI, le dépôt public où les développeurs Python piochent leurs briques de code : trois versions vérolées y ont été publiées en 35 minutes. Le 3 juin, c'est plus de 50 paquets npm, l'équivalent côté JavaScript, qui passaient à la moulinette.
Le retour sur durabletask interroge. Pour Ashish Kurmi, directeur technique de la société de sécurité StepSecurity, les jetons d'accès du compte développeur déjà compromis lors de l'attaque sur PyPI n'avaient visiblement pas tous été révoqués. La même porte est restée grande ouverte.
Côté filiation, l'éditeur de sécurité Snyk décrit Miasma comme un descendant de Mini Shai Hulud, un ver revendiqué par le groupe cybercriminel TeamPCP, qui a ensuite gentiment publié son code en open source. Microsoft, de son côté, n'a pas répondu aux sollicitations de la presse.
Bref, un seul commit, et c'est tout un pan de l'infrastructure des développeurs qui tremble.
Source : The Register
Vous avez déjà tous joué avec Flightradar pour pister un vol, ou cliqué au pif sur un globe terrestre pour écouter une radio FM brésilienne . Hé bien Pocket World , c'est un peu tout ça en même temps, plus la météo, les séismes, les bases militaires, les câbles sous-marins, les volcans en éruption, les indices boursiers et la qualité de l'air. Tout ça, accessible sur un seul globe 3D dans votre navigateur !
Vous chargez la page (C'est du Three.js et Globe.gl pour les curieux) et vous atterrissez sur la Terre. Une barre vous liste les couches activables : avions civils, cargos, militaires, navires en mer ou en rivière, satellites (le catalogue en affiche plus de 17 000), foudre en direct via Blitzortung, séismes via l'USGS, fusées qui partent dans la semaine.
Flight Radar gratuit
La force du truc, c'est que l'agrégation est super propre. Les vols viennent d'OpenSky Network et d'ADSB.lol, les navires d'AISStream et d'AIShub, la météo d'Open-Meteo, les satellites de CelesTrak, les radios de Radio Browser, la télé d'IPTV-org. Bref, que des sources publiques bien connues des bidouilleurs, sans scraping crado ni API obscure.
Côté espace, vous suivez l'ISS, les passages Starlink au-dessus de votre tête, les lancements à venir via Launch Library 2, et même les alertes éruptions solaires du NOAA SWPC.
Il y a 55 milliardaires en France
Et il y a des couches franchement originales pour un simple globe trackeur comme les ressources minières par pays (lithium, terres rares, uranium, cobalt), les pipelines et terminaux GNL, les data centers, les zones de sanctions, les navires sous pavillon piraté, ou la dette publique en pourcentage du PIB.
Maintenant, j'ai aucune idée de qui est derrière puisqu'il n'y a pas de page "team", ni de GitHub mais sachez que si ça vous plait, le site accepte les donations en Bitcoin, Ethereum, USDT et TON.
Les lancements de fusées
Bref, à garder en favoris pour la prochaine pause-café où vous voulez regarder ce qui se passe sur la planète.
Et merci j0j0b4rj0 pour le lien !
Si vous êtes développeur en Iran, à Cuba ou en Corée du Nord, vous venez officiellement de perdre l'accès à Let's Encrypt !
En effet, la version 1.7 du Subscriber Agreement publiée par l'ISRG (Internet Security Research Group), l'organisation derrière le service, est malheureusement entrée en vigueur le 4 juin dernier. Et sur les 8 pages du document, il n'y a qu'un seul ajout, mais il pèse trèèès lourd : section 3.1, un nouveau bullet point oblige maintenant chaque utilisateur à garantir qu'il "n'est pas localisé, organisé sous les lois de, ou résident dans un pays cible de sanctions américaines complètes".
En pratique, la liste OFAC des juridictions sous sanctions globales actuelles couvre Cuba, l'Iran, la Corée du Nord, et les zones occupées de Crimée, Donetsk et Lougansk (la Syrie en a été retirée fin 2025 ce qui montre bien à quel point ce périmètre peut évoluer rapidement).
Et le couperet ne tombe pas que sur des États-paria abstraits puisque ONG d'aide humanitaire, journalistes, universités, et tout le monde qui travaille ou vit dans ces zones perd le service. Du coup, pour récupérer un certificat HTTPS gratuit, vous devez maintenant signer une clause d'embargo. Plusieurs utilisateurs rapportent également que des certificats de sites russes auraient déjà été révoqués au cours des derniers mois, sans préavis officiel de l'ISRG...
Le piège, c'est la section 2.2 du contrat, intacte depuis longtemps mais qui prend un sens tout neuf : l'agrément reste en vigueur tant que vous possédez un seul certificat valide. Cela veut dire qu'une violation potentielle sur UN certificat peut donc, en théorie, déclencher une révocation en cascade de TOUS les autres, un peu comme un crédit immobilier où une mensualité ratée rendrait tout le contrat caduque...
Je vous laisse imaginer la tronche d'un hébergeur qui gère mille sites le jour où ça tombe et qui crée des certificats Let's Encrypt pour ses clients... La section 4.2 énumère onze motifs de révocation activables "à la seule discrétion" de l'ISRG, dont la violation de l'agrément et un joli fourre-tout "d'autres motifs raisonnables et légaux".
Notez que l'ISRG est domiciliée à San Jose, en Californie et que tous les CA américains (DigiCert, Sectigo, GlobalSign US) sont déjà soumis aux mêmes obligations OFAC depuis toujours, donc c'est pas vraiment non plus une surprise... Mais ça tombe toujours mal ce genre de conneries.
Maintenant, côté alternatives, si vous voulez sortir de la juridiction US, y'a pas grand chose... Je me souviens de ZeroSSL qui ressemblait à une option européenne mais qui a été racheté début 2024 par HID Global (filiale du suédois Assa Abloy, basée au Texas... donc aux Etats-Unis), donc soumis aux mêmes obligations OFAC à terme. Après vous avez peut-être des services à me recommander ? Sinon il faudra passer par des certificats payants.
Bref, le HTTPS gratuit a toujours eu un drapeau, mais on faisait juste semblant de l'oublier...
Cabel Sasser, le boss de Panic Inc. (les gars derrière Coda, Nova et la fameuse Playdate ), vient de tomber sur un easter egg complètement génial dans LEGO Batman: Legacy of the Dark Knight, le jeu sorti fin mai 2026.
Et ce qu'il a découvert, c'est un petit programme Commodore 64 en BASIC affiché à l'écran sur l'ordi de Batman. Du vrai BASIC qui s'exécute vraiment si vous le retapez sur la vieille bécane de 1982, celle qui a été vendue, je le rappelle, à 17 millions d'unités, avec son CPU MOS 6510 cadencé à 1 MHz et ses 64 ko de RAM. Le programme, une fois lancé, dessine un sprite Batman qui rebondit aux quatre coins de l'écran, façon économiseur d'écran DVD des années 2000 (vous voyez le délire, le petit logo qui galère à taper pile dans le coin ?).
Et voici le code retranscrit ligne par ligne par Andy Baio de Waxy :
10 V=53248:POKE V+21,0:X=120:Y=120:POKE V+4,X:POKE V+5,Y:POKE V+21,4
11 POKE 2042,13:POKE 53277,15:POKE 53289,7
20 FOR N=0 TO 62:READ Q:POKE 832+N,Q:NEXT:DX=7:DY=3
30 X=X+DX:IF X>255 THEN X=255:DX=-DX
31 IF X<65 THEN X=65:DX=-DX
35 Y=Y+DY:IF Y>200 THEN Y=200:DY=-DY
36 IF Y<65 THEN Y=65:DY=-DY
40 POKE V+4,X:POKE V+5,Y:GOTO 30
200 DATA 0,0,0, 0,0,0, 12,68,96, 56,108,56, 120,124,60, 120,124,60
207 DATA 252,124,126, 255,255,254, 255,255,254, 255,255,254
211 DATA 143,255,226, 7,255,192, 3,255,128, 2,124,128
215 DATA 0,56,0, 0,56,0, 0,16,0, 0,16,0, 0,0,0, 0,0,0, 0,0,0
RUN
Pour ceux qui n'ont pas touché à un C64 depuis +40 ans, V=53248, c'est l'adresse du registre VIC-II (le chip graphique du Commodore, voisin direct du fameux chip son SID 6581 qui faisait pleurer les fans de Rob Hubbard), POKE 2042,13 ça pointe vers les données sprite, et les lignes 200-215 contiennent les 63 octets qui dessinent la silhouette du chevalier noir.
Ensuite, le reste, c'est juste de la physique d'arcade hyper basique : tu déplaces, tu rebondis aux bords, GOTO 30, et ça boucle. Douze lignes, et ça fait le job. Bon, à comparer avec les dizaines de mégaoctets que pèse le moindre runtime Unity d'aujourd'hui, ça dénote un peu. Puis c'est pas du vibe codé ça ma bonne dame... (quoique ?)
Après si vous voulez essayer, faudra taper le code à la main parce que le copier-coller n'existait pas en BASIC d'époque, donc n'oubliez pas qu'une seule virgule de travers dans les lignes DATA aura pour effet de transformer Batman en bouillie de pixels.
Et si vous voulez tester sans aller déterrer votre vieux C64 au grenier (ou sans le réveiller à coup d'alim USB-C moderne ), Krisztián Tóth a sorti un émulateur Commodore 64 qui tourne directement dans le navigateur , ça s'appelle ty64. J'ai préféré le tester là dessus plutôt que de réinstaller VICE, parce que c'est plus rapide et que ça évite de polluer la machine. Vous recopiez le code, vous tapez RUN, et Batman se met à rebondir sur votre écran comme si vous étiez en 1982.
Les animateurs Lego qui glissent du vrai BASIC dans un blockbuster en 2026 plutôt qu'une simple texture qui imite l'écran, j'adoooore ce niveau de détail. C'est totalement dans la même veine que Valve qui a planqué un Wilhelm Scream dans le Steam Controller .
Le conseil de pilotage de Python, l'instance qui tranche les grandes décisions du langage, a demandé le 5 juin la suspension de tout nouveau développement sur son compilateur JIT.
Un JIT (just-in-time), c'est un compilateur à la volée : au lieu d'interpréter votre code ligne par ligne, il traduit les portions les plus sollicitées en instructions machine pendant l'exécution, histoire de gagner en vitesse. Python en a un, expérimental, depuis la version 3.13 sortie début 2024.
Le problème n'est pas le code. Il est dans la procédure.
Ce JIT est arrivé dans la branche principale de CPython, l'implémentation de référence du langage, sans passer par le circuit de décision habituel. Chez Python, toute évolution majeure doit faire l'objet d'un PEP, un document formel que la communauté discute puis valide. Celui qui couvre le JIT, le PEP 744 signé Brandt Bucher et Savannah Ostrowski, n'est qu'informatif et laisse plusieurs questions en suspens : la maintenance future, la compatibilité avec l'outillage existant, les critères de réussite mesurables.
Le conseil l'a reconnu noir sur blanc : il n'a pas été "aussi strict sur le respect du processus qu'un changement de cette ampleur le méritait". Responsabilité partagée, donc.
En pratique, plus aucune nouvelle fonctionnalité JIT ne peut atterrir sur la branche principale tant qu'un PEP en bonne et due forme n'est pas accepté. Les corrections de bugs et de sécurité, elles, continuent. Le conseil laisse une fenêtre de six mois pour soumettre et faire valider ce document. Passé ce délai, faute d'accord, le code du JIT sera purement et simplement retiré.
Le timing est mauvais. Le JIT amélioré était l'une des nouveautés mises en avant de Python 3.15, dont les fonctionnalités sont déjà gelées et dont la sortie est attendue en octobre. Sur du x86-64 sous Linux, il promet un gain de 8 à 9% en moyenne, même s'il reste désactivé par défaut et consomme 10 à 20% de mémoire en plus.
Mark Shannon, un des principaux contributeurs, n'a pas caché son agacement. Pour lui, tout arrêter d'un coup fait perdre l'élan et risque de faire fuir les nouveaux venus, alors il réclame une période de grâce pour avancer pendant que le PEP se construit. Barry Warsaw, lui, a demandé pourquoi le travail ne pourrait pas se poursuivre dans un dépôt séparé le temps des discussions.
La réponse du conseil tient en une idée : mettre le développement en pause évite que le JIT devienne une cible mouvante pendant qu'on débat de son sort.
Du coup, on se retrouve avec une techno qui fonctionne, déjà embarquée dans le langage, suspendue à un document qui n'existe pas encore.
Geler une techno qui marche pour une procédure oubliée, c'est agaçant sur le moment. Mais sur un langage utilisé par des millions de gens, c'est probablement plus prudent.
Source : The Register
Pendant la Guerre froide, les services de renseignement diffusaient sur ondes courtes des suites de chiffres récitées par une voix synthétique, à destination de leurs agents sur le terrain. On appelait ça des "numbers stations", et personne en dehors du destinataire ne savait décoder le message.
Steven Murdoch, professeur de sécurité informatique à l'University College London, vient de montrer que l'armée américaine fait à peu près la même chose depuis presque vingt ans, mais via le GPS que vous avez dans la poche.
Tout part d'un champ obscur du signal GPS baptisé "Subframe 4, Page 17". Le signal civil L1 transmet en permanence 50 bits par seconde de données de navigation, et dans ce flux se cache un bloc de 176 bits que la spécification officielle IS-GPS-200 réserve aux "messages spéciaux", dont le contenu est laissé "à la discrétion du commandement opérationnel". Autrement dit, personne n'a jamais dit publiquement à quoi il servait.
Murdoch a récupéré plus de 12 millions d'observations de ce champ dans une archive publique de stations au sol, couvrant 2007 à début 2026. Dix-neuf ans de données passées dans une moulinette en langage Julia puis stockées dans une base DuckDB, pour en extraire un peu moins de 4 000 messages uniques de 176 bits.
Le 26 mai 2011, les 31 satellites actifs changent de comportement très rapidement, en quelques heures, exactement au moment du déploiement du réseau OTAD de l'armée, le système qui distribue à distance les clés de chiffrement. Le rythme de rotation des messages passe de 3,7 jours à 1,8 jour, ce qui colle parfaitement avec une livraison quotidienne de clés tactiques aux récepteurs militaires.
En mai 2022, toute la flotte ralentit encore, sans la moindre annonce. Et en décembre 2023, le satellite PRN 8 inaugure un nouveau format : un préfixe "TEXT" en clair, suivi de 18 octets de texte chiffré.
L'hypothèse de Murdoch, c'est que ce champ sert à l'OTAR, la mise à jour à distance des clés de chiffrement des récepteurs GPS militaires. Plutôt que d'envoyer un technicien recharger physiquement chaque appareil, on diffuse la "prochaine clé" directement dans le signal public, captée uniquement par les récepteurs sécurisés SAASM capables de la déchiffrer.
Le reste du temps, le contenu ressemble à du bruit parfaitement aléatoire, comme tout bon texte chiffré. Avec quelques fuites quand même : des séquences de test 0xAA quand aucune clé n'est en transit, et une même chaîne de 9 caractères, LY47IRP16, qui réapparaît à des mois d'intervalle, possible en-tête cryptographique mal masqué.
"Chaque satellite GPS est une numbers station. Les récepteurs ont toujours écouté, il est temps que la communauté sécurité regarde enfin les octets", écrit Murdoch. La méthode a quand même ses limites face aux bonnes vieilles ondes courtes : un signal GPS se brouille et se leurre facilement en zone de conflit, et il faut un firmware spécialisé pour en tirer quoi que ce soit.
Franchement, planquer pendant vingt ans un canal militaire chiffré dans le signal que des milliards de civils utilisent chaque jour, c'est du très grand art quand même.
Source : Benthamsgaze
OpenCV, vous l'utilisez sans doute déjà sans le savoir. Cette bibliothèque open source de vision par ordinateur, autrement dit une grosse boîte à outils qui apprend aux logiciels à analyser images et vidéos, se cache derrière la reconnaissance de visages de votre téléphone, les caméras d'usine ou les yeux des robots. Née chez Intel à la fin des années 90, elle vient de franchir un cap avec sa version 5.0, dévoilée autour de la conférence CVPR de Denver et rendue installable en un clic.
Le cœur du chantier, c'est son module DNN, le composant chargé d'exécuter les modèles d'intelligence artificielle, et qui a été réécrit de fond en comble.
L'ancien moteur traitait les calculs un par un, dans l'ordre. Le nouveau dessine d'abord le graphe entier des opérations avant de les lancer, ce qui lui permet de fusionner des étapes et de digérer beaucoup mieux les transformers, ces architectures mathématiques qui forment l'ossature de toute l'IA générative d'aujourd'hui.
Un chiffre résume le bond accompli. La compatibilité avec ONNX, le format qui sert à faire voyager un modèle d'un logiciel à l'autre, grimpe d'à peine plus de 20% sur les versions 4.x à plus de 80% sur cette mouture. Autant dire un autre monde.
Mais le vrai morceau de bravoure est ailleurs. OpenCV 5 est capable d'exécuter lui-même des grands modèles de langage, ces LLM qui font tourner ChatGPT, et même des modèles auxquels vous montrez une image et qui la décrivent en mots, sans aucun moteur tiers branché à côté.
Et on ne parle pas de modèles au rabais, puisque la liste inclut le Qwen 2.5 d'Alibaba et les Gemma de Google. Plus fort encore, lors des essais maison, la réponse de Qwen collait mot pour mot à celle d'ONNX Runtime, l'outil de référence de Microsoft pour ce genre de tâches. Pour une bibliothèque qui n'avait pas du tout été pensée pour ça, le résultat force le respect.
Le reste relève de la grosse mise à niveau. La 5.0 sait tirer parti d'à peu près toutes les puces du marché, des Intel aux Arm en passant par les Snapdragon de Qualcomm et la jeune architecture libre RISC-V, son volet de vision en trois dimensions a été réorganisé en briques plus claires, et son code réclame désormais un compilateur plus récent qu'à l'époque de la version 4.0, sortie en 2018.
Détail qui a son importance, tout ce travail reste mené par une fondation à but non lucratif, OpenCV.org , épaulée par le studio Big Vision et par des équipes basées en Chine. Pas par un géant privé.
Franchement, voir une vieille bibliothèque de vision proche des vingt-cinq ans se mettre à faire tourner des modèles de langage, c'est quand même pas mal.
Source : Phoronix
Un youtubeur qui se fait appeler Hyperspace Pirate a fabriqué chez lui un cryogénérateur, c'est-à-dire une machine capable de produire du froid extrême, en imprimant lui-même la plupart des pièces en plastique.
Sur ses deux prototypes, il est descendu jusqu'à -84°C. Ce n'est pas un record, et il le sait très bien, mais réussir ça avec du matériel de garage a quand même de quoi surprendre.
La machine qu'il reproduit s'appelle un cryogénérateur Gifford-McMahon, du nom des deux ingénieurs qui ont mis au point le principe au début des années 1960. On en trouve aujourd'hui dans les appareils d'IRM des hôpitaux, où ils maintiennent des aimants surpuissants à des températures proches du zéro absolu, la limite physique en dessous de laquelle on ne peut plus descendre.
Le principe est moins compliqué qu'il n'en a l'air. Un piston coulisse dans un cylindre, et ce piston contient un régénérateur, une sorte d'éponge thermique qui emmagasine la chaleur d'un côté pour la relâcher de l'autre.
En faisant passer un gaz d'un bout à l'autre du cylindre, on obtient un côté chaud et un côté froid, et c'est évidemment ce côté froid qu'on cherche à exploiter.
Le plus astucieux dans ce montage, c'est le piston. Plutôt que de l'étancher avec des joints qui forceraient et finiraient par fuir, Hyperspace Pirate le déplace avec des aimants placés à l'extérieur du cylindre. Pas de joints, donc.
Pour voir ce qui se passe à l'intérieur, il a aussi monté un tube en acrylique transparent et utilisé de l'air comprimé tout bête comme gaz de travail. Pratique pour filmer, beaucoup moins pour la performance.
Et c'est justement là que ça coince. L'humidité contenue dans l'air de l'atelier gèle quand la température chute, et la glace finit par bloquer le piston en plein mouvement. Difficile de descendre bien bas quand votre machine se grippe toute seule.
Du coup, la suite, ce sera l'hélium. Ce gaz ne contient pas d'eau et ne gèle qu'à des températures bien plus basses, ce qui devrait régler le problème de blocage et faire tomber le thermomètre beaucoup plus loin. C'est d'ailleurs lui qu'utilisent les vrais cryogénérateurs industriels, qui descendent eux autour de -269°C.
Si vous voulez mon avis, le chiffre compte moins que la démonstration : prouver qu'un truc de labo tient dans un garage avec une imprimante 3D, c'est déjà une réussite.
Source : Hackaday
Oliver Sieber, un chercheur de chez Exodus Intelligence, vient de publier l'exploit complet d'une faille qui tient dans un seul caractère. C'est la CVE-2026-23111, planquée dans nf_tables, c'est à dire au bout du noyau Linux qui filtre les paquets réseau. Un bug discret donc, qui transforme un compte tout pourri, sans le moindre privilège, en compte root sur la machine... et qui vous fait sortir d'un conteneur au passage.
Le scénario, vous le connaissez si vous traînez ici depuis un moment. Un utilisateur qui dispose d'un compte sans droit particulier sur une machine Linux (y compris parce qu'il a exploité une autre faille avant, dans une appli web par exemple) lance l'exploit, et se retrouve avec les pleins pouvoirs. Pas de vecteur distant, rien à cliquer : c'est l'arme qu'on dégaine une fois le pied dans la porte. Que ce soit un shell avec des droits limités, un conteneur compromis, un compte de service... tout y passe et hop, root sur l'hôte !
Le bug lui-même, c'est ce qu'on appelle un use-after-free, c'est à dire que le noyau réutilise un bout de mémoire qu'il a déjà libéré, et forcément ça part en vrille. Exodus a titré son analyse complète "Off By !", un clin d'œil au classique off-by-one des développeurs, sauf qu'ici le coupable c'est un test inversé. Un caractère de trop, une condition qui dit l'inverse de ce qu'elle devrait, et voilà. Et le correctif, lui, tient en une seule ligne.
Le fameux caractère : le ! qui inversait le test dans nft_map_catchall_activate(). Le correctif le retire, et c'est tout (commit 8fdb05de).
La faille a d'ailleurs été reproduite deux fois, par deux équipes qui ne se sont pas concertées. Exodus l'a validé sur Debian Bookworm, Debian Trixie, Ubuntu 22.04 et 24.04. FuzzingLabs avait sorti sa propre version dès avril, par un chemin complètement différent, et l'avait fait tourner sur RHEL 10 juste avant le Pwn2Own de Berlin. Bref, ça marche, c'est bien documenté, et c'est public.
Mais le pire, c'est le calendrier de tout ce merdier puisque le patch a été mis à dispo le 5 février. Ensuite, y'a eu l'exploit de FuzzingLabs publié le 16 avril, suivi d'un write-up détaillé d'Exodus le 8 juin. Autrement dit, ça fait des mois que le correctif existe et des semaines que le code d'exploitation traîne dans la nature.
La seule chose qui vous sépare donc d'un compte root offert à n'importe qui, c'est d'avoir mis à jour ou pas.
Et cette faille s'ajoute à une sacrée série de failles root-local sur Linux ce printemps. Y'a eu Copy Fail , y'a eu Dirty Frag et sa variante Fragnesia ... à chaque fois le même refrain, un compte sans droit qui finit root sur une install standard. C'est devenu presque routinier, et Synacktiv pointe une raison plutôt pertinente en nous expliquant que c'est à cause (ou grâce ^^) aux outils d'IA qui décortiquent les patchs pour en sortir un exploit rapidos, qui marche direct avant même que la correction soit déployée partout.
Du coup, qu'est-ce que vous devez faire ?
Hé bien le plus simple d'abord, c'est de mettre à jour le noyau et vous rebootez. Ubuntu a corrigé 22.04, 24.04 et 25.10, Debian a patché Bookworm et Trixie (avec un backport en 6.1 pour Bullseye), et Red Hat, SUSE et Amazon Linux ont suivi. Comme la version corrigée exacte dépend de votre distrib, jetez donc un œil à l'advisory qui correspond à la vôtre.
Si vous gérez une machine où tournent des utilisateurs ou des workloads pas franchement de confiance, vous pouvez également couper le chemin d'attaque sans attendre le patch. La faille a besoin des user namespaces non privilégiés, un mécanisme qui laisse un process lambda se bricoler son propre bac à sable avec des droits root à l'intérieur.
Et nf_tables comme ces namespaces, sur la plupart des desktops et pas mal de serveurs, c'est actif par défaut, donc oui, sans le patch vous êtes probablement exposé.
Pour les désactiver, le plus universel c'est user.max_user_namespaces=0 : un sysctl -w user.max_user_namespaces=0 pour tout de suite, et la même ligne dans un fichier genre /etc/sysctl.d/99-userns.conf pour que ça tienne au reboot.
Ça marche sur toutes les distros mais c'est radical, ça coupe tous les user namespaces, même ceux de root. Sur Debian et les vieilles Ubuntu, t'as plus fin avec kernel.unprivileged_userns_clone=0 qui ne vise que les non-privilégiés. Et sur Ubuntu 24.04, bonne nouvelle, c'est déjà restreint par défaut via AppArmor. Attention quand même, ça peut casser des trucs qui s'appuient dessus, genre le bac à sable de Chrome ou Flatpak.
À faire en connaissance de cause, donc.
La parade en vrai : une fois les user namespaces non privilégiés coupés, un compte lambda qui tente d'en créer un (le prérequis de l'exploit) se fait jeter sur un "No space left on device".
Après la bonne nouvelle, c'est que d'après les chercheurs, aucune exploitation dans la nature pour cette faille précise n'a été constaté à ce jour. Après comme sa cousine Copy Fail, elle, a déjà atterri au catalogue des failles activement exploitées de la CISA, ne traînez pas trop. Bref, comme d'hab padpanik, vous mettez à jour, vous rebootez, et on n'en parle plus.
Vous appuyez sur la touche ▶ Play de votre clavier pour mettre en pause une vidéo. Et c'est ce couillon d'Apple Music qui s'ouvre en grand alors que vous n'avez rien demandé. Ou alors vous branchez votre casque Bluetooth, et le revoilà qui débarque comme votre ex à votre anniversaire. Sachez que si ce truc vous rend dingue depuis des années (moi le premier), les Low-Tech Guys (Alin Panaitiu, le dev derrière Lunar) ont pondu Music Decoy , une petite app gratuite qui règle le problème une bonne fois pour toutes.
Et cette app minimaliste ne fait rien d'autre que tourner en arrière-plan en se faisant passer pour l'app Musique, avec le même identifiant interne, le fameux com.apple.Music. Comme ça, quand vous appuyez sur Play, macOS regarde, voit que "Musique" est déjà là, et ne lance rien. Rideau on ferme ! Pour l'installer, suffit de faire brew install --cask music-decoy en ligne de commande, ou de passer par le ZIP à télécharger si vous préférez cliquer cliquer cliquer...
Ensuite, vous lancez, et voilà, y'a même pas d'icône.
Maintenant pour comprendre pourquoi il faut en arriver là, sachez qu'un petit démon nommé rcd (Remote Control Daemon) gère les touches média sur votre Mac. À chaque pression sur la touche Play, il vérifie si une app joue déjà du son. Si oui, il lui envoie la commande. Si non... bah il ouvre Apple Music par défaut, parce qu'Apple a décidé que c'était ça que vous vouliez. Merci les gars !
Toute l'astuce de Music Decoy, c'est donc qu'il occupe le terrain. L'alternative la plus connue, noTunes , surveille le système et referme Musique dès qu'elle tente de s'ouvrir. Donc il doit tourner en permanence pour monter la garde. Music Decoy, lui, fait juste croire que Musique tourne déjà. Donc il n'y a rien à surveiller ni à refermer. C'est mieux je trouve... Et comme c'est open source , vous pouvez aller voir vous-même les quelques lignes qui suffisent à berner le système ^^.
Et si vous écoutez vraiment de la musique, mais sur Spotify par exemple, vous pouvez carrément rediriger la touche Play vers elle grâce à cette commande dans le Terminal :
defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
Et pour revenir en arrière en mode "Si tu reviens j'annule tout", un defaults delete com.lowtechguys.MusicDecoy mediaAppPath et basta.
Vous l'aurez compris, comme Music Decoy squatte l'identité d'Apple Music, vous ne pourrez plus lancer la vraie app Musique tant qu'il tourne. Et y'a certaines applications qui essaient de dialoguer avec Musique, comme VLC, qui risquent de tousser au passage. Donc si vous ouvrez Apple Music dix fois par jour, bah passez votre chemin les amigos.
Et pour le quitter, comme il n'a ni icône ni menu, il faudra passer par le Moniteur d'activité ou taper un petit killall 'Music Decoy' dans le Terminal comme tout bon barbu.e qui se respecte.
Après si installer cette app vous saoule, il vous reste la méthode bourrine, à savoir faire un launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist pour désactiver complètement rcd. Mais là vous flinguez le play/pause et toutes les commandes de lecture légitimes d'un coup.
Music Decoy fait donc plus dans la dentelle, et si vous l'ajoutez à vos ouvertures au démarrage, vous n'y penserez plus jamais. C'est dans la lignée de ces petits softs dont je vous parle souvent, qui réparent les oublis de macOS, comme Boring Notch pour l'encoche ou iFetch pour reprendre la main sur iCloud.
Bref, un petit soft qui fait pas grand chose mais qui le fait bien.