Lateo.net - Flux RSS en pagaille (pour en ajouter : @ moi)

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierInformatique & geek

Linux 7.2 - L'IA relit le code du noyau et Torvalds trouve la note salée

Par : Korben ✨

La dernière release candidate de Linux 7.2 est bien plus "grosse" qu'elle ne devrait l'être à ce stade du cycle, mais cela n'a pas empêché Linus Torvalds de la publier dimanche en attribuant ce trop-plein aux outils IA qui relisent le code du noyau.

"Je ne peux pas dire que la taille de tout ça m'enthousiasme, mais c'est comme ça : la nouvelle normalité, avec beaucoup de correctifs, dont beaucoup viennent de la revue par divers outils IA."

Rien ne lui paraît effrayant pour autant, et il ne voit aucune raison de retarder la 7.2. Une grosse taille pour ce noyau, ça veut dire plus de 400 correctifs, signés par plus de 230 personnes alors que dans une Release Candidate en général, c'est le moment où le noyau est censé se calmer avant la sortie. Alors que là, ça ressemble plutôt à un nouveau début de cycle.

Et ça tape de partout : Pilotes graphiques, son, réseau, systèmes de fichiers, code d'architecture. Les plus gros blocs viennent de s390 et zcrypt, de btrfs qui remet en place une infrastructure interne, et de correctifs netfilter ipset.

Mais attention au contresens, parce que je l'ai vu passer sur certains tweets d'anti-IA. Torvalds parle de revue de code par des outils IA, et pas d'une IA qui écrirait le noyau à sa place. Sa position de fond, Vincent nous la racontait en juillet quand il envoyait les anti-IA forker le noyau. Ici, ça ne concerne que des outils qui relisent du code existant et signalent des trucs douteux. Après derrière, ce sont des humains qui trient.

À titre d'exemple, l'un des correctifs de cette rc7 traite un use-after-free dans ptdump, l'interface qui affiche les tables de pages du noyau en clair pour repérer les problèmes de mémoire. C'est ce type de bug qui se transforme en faille et il était là depuis mars 2018 (depuis Linux 4.16).

C'est Syzbot , le robot qui bombarde le noyau d'entrées tordues en continu, qui a levé le lièvre en juin dernier. David Carlier a écrit un premier correctif en s'aidant de Claude Opus 4.8 pour remonter la piste, et Lorenzo Stoakes, mainteneur de la gestion mémoire, l'a retravaillé avant qu'il parte dans la rc7. Il devrait ensuite être rétroporté vers les noyaux stables, donc vers les machines qui tournent aujourd'hui.

Autre exemple, Greg Kroah-Hartman, qui traque déjà des bugs du noyau avec une IA locale , vient de faire retirer le pilote Moxa Intellio, soit près de 2200 lignes écrites en 1999 qui supporte certaines cartes série multiports. Alors pourquoi est-ce qu'il a fait ça ? Eh bien il écrit dans son patch que : "C'est un très vieux pilote, aucun matériel connu ne circule encore pour lui, et la société dit ne plus en avoir besoin, alors retirons-le puisque les LLM commencent à venir le titiller et à y trouver des choses "intéressantes" qui vont juste faire perdre du temps à tout le monde, vu qu'il ne sert plus...".

Voilà donc un autre effet de l'analyse de code par IA. Elle oblige les mainteneurs de projet à tailler dans le gras pour virer du code obsolète que des modèles de langage viendraient renifler d'un peu trop près. Ça ne peut pas faire de mal.

Pour moi, le vrai risque de ces outils sur un projet ouvert tient au volume. Un flot de signalements produits par des gens qui ne relisent pas ce qu'ils envoient, où plus personne ne distingue l'hallucination du vrai bug, et là ça partirait en eau de boudin. Mais comme le noyau, lui, garde des mainteneurs qui comprennent les tenants et les aboutissants de ce qu'ils lisent, ça se passe très bien. Même si la quantité de problèmes remontés surprend Linus.

Voilà, si cette nouvelle version du noyau vous intéresse, sachez qu'elle devrait normalement sortir la semaine prochaine en version finale.

Source

New AMD Linux patch boosts low-end gaming performance on Steam Deck

As the Steam Deck slowly marches toward its fifth birthday next February, owners are likely eager for a way to extend its life rather than investing in expensive high-end competition. A new patch for AMD's Linux drivers could substantially reduce low-end frame hitches when the Steam Deck or other AMD-based gaming hardware is running in Energy Performance Preference (EPP) mode.

Writing on the Linux kernel mailing list (thanks, Phoronix), kernel coder David Vernet lays out the basic problem that games often face in EPP mode. When a busy thread frequently goes to sleep for short periods, the current AMD driver can misinterpret that behavior as a signal to lower its average performance target. When those threads wake up, they start at a lower-than-desired frequency, leading to increased frame latency, stale frames, and longer frame generation times at the low end of the distribution.

Shifting the processor to "performance" mode fixes this problem but eliminates the energy savings that EPP mode is supposed to provide. And simply boosting the affected thread's minimum performance target permanently actually makes low-end performance worse, thanks to the complexities of CPU/GPU boost management.

Read full article

Comments

Cette Atari Jaguar de 1993 boote sous Linux avec 2 Mo de RAM

Par : Korben ✨

Une Atari Jaguar, la console de 1993 qu'Atari vendait comme la première machine 64 bits et que le marché a snobée, vient de booter sous Linux pour la première fois ! Derrière ce hack, un développeur connu sous le pseudo de Cakehonolulu , qui a collé un vrai noyau sur le Motorola 68000 de la bécane.

Le 68000 n'a pas de MMU , ce circuit qui gère la mémoire virtuelle et dont dépend le Linux que vous faites tourner sur votre PC. Sauf que le noyau embarque depuis toujours une branche pour les puces qui en sont privées, l'antique μClinux , et c'est elle qui fait tout le taf ici.

La Jaguar offre seulement 2 Mo de RAM et jusqu'à 6 Mo de ROM sur la cartouche, du coup Cakehonolulu a coupé le noyau en deux : le code qui ne bouge pas, le .text et le .rodata, reste dans la ROM et s'exécute directement depuis là en XIP, pendant que les données qui changent atterrissent dans les 2 Mo de RAM. Bref, chaque octet compte.

Après, ce n'était pas simple non plus parce que le 68000 ne sait pas lire une donnée qui serait mal alignée en mémoire. Alors que les processeurs modernes savent le faire sans broncher. Et comme le cross-compilateur d'Ubuntu générait quand même ce type de données mal alignées, alors qu'on lui précise bien que la cible c'était un 68000, ça faisait des plantages en cascade.

L'astuce a donc été de recompiler tout le toolchain à la main, puis de bâtir un user space minimal avec BusyBox et uClibc, tout ça en binaire FLAT au lieu du classique format ELF.

Et voilà, la Jaguar affiche maintenant fièrement ses 1,04 BogoMIPS. Soit une puissance de feu qui ferait chialer une calculatrice. Mais bon, elle boote et c'est le principal. Si vous avez encore une Jaguar dans un placard, vous pouvez parfaitement installer ça dessus, puisque le code est disponible sur GitHub .

Voilà, c'est assez génial parce qu'en fait, ça montre bien que Linux est vachement résilient. On est en 2026 et pourtant, le support des 68000 est encore présent dans le noyau, et bien vivant même !

Voilà, tant que ce bon vieux noyau gardera tous ses vieux pilotes, eh bien n'importe quelle console oubliée pourra toujours renaître avec un petit terminal dessus. Et ça, je trouve que ça clôt tous les débats sur la conservation et le poids du code legacy dans le kernel.

Source

LinuxMD - du Linux sur la Sega Megadrive

Par : Korben ✨

Une Megadrive qui fait tourner du bon gros Linux qui tâche, vous en avez rêvé ? Hé bien Daniel Palmer l'a fait !!

Le souci, c'est que le processeur 68000 de la console n'a pas de MMU, ce petit composant que Linux réclame normalement pour gérer la mémoire. Du coup Daniel a compilé le kernel dans un mode spécial qui s'en passe, ce qui est déjà un joli exploit.

Autre problème, une Megadrive toute seule n'a pas assez de mémoire pour un kernel. L'astuce, c'est donc de passer par une cartouche. Un Mega EverDrive de chez Krikzz vient glisser 4 Mo de RAM dans la console, et hop, comme ça elle se transforme en mini-ordinateur le temps d'un boot. Welcome LinuxMD !!

Le menu de la cartouche Mega EverDrive, par lequel on lance le démarrage.

Vous branchez ensuite la cartouche à votre PC en USB, et là, le kernel se met à cracher du log sur votre terminal, comme une vraie machine !

Et il y a même un mode qui affiche le shell directement sur la télé, avec un petit carré vert qui clignote pour dire que le kernel tourne, et un rouge pour l'activité du disque. Plutôt classe !

Le shell Linux affiché sur la télé via la puce graphique de la Megadrive. Le carré vert qui clignote = le kernel tourne.

Après c'est lent. Daniel le dit lui-même, y'a de quoi vous faire un café entre deux commandes. Et si vous n'avez pas de Megadrive sous la main parce que les brocantes de geeks c'est pas votre truc, c'est pas grave, il a prévu un émulateur pour jouer avec sans avoir le matos.

Bref, c'est pas très praticable, vous ne pourrez pas vous en servir comme d'un PC au quotidien mais c'est beau quand même !

Source : Hackaday

Cache-aware scheduling - Le patch Linux qui vise +360% de perf sur MySQL

Par : Korben ✨

L' ordonnanceur du noyau Linux vient de recevoir une proposition de mise à jour qui fait grimper les perfs de façon assez spectaculaire sur certaines charges. Hygon, le fondeur chinois qui fabrique des x86 sous licence de l'architecture Zen d'AMD, a envoyé une série de patches pour étendre le cache-aware scheduling, et les chiffres annoncés montent jusqu'à 360% de mieux en termes de transactions par seconde sur MySQL.

Pour comprendre le délire, faut revenir au cache-aware scheduling de base, le fameux CAS, conçu par les ingénieurs d'Intel (Tim Chen, Chen Yu et Peter Zijlstra) et tout juste mergé dans Linux 7.2. Sur un CPU moderne avec plusieurs caches de dernier niveau, le fameux LLC, l'ordonnanceur essaie de regrouper sur le même domaine de cache les tâches qui partagent des données. Du coup, moins de ratés de cache, moins de données qui font des allers-retours entre les caches, et donc de la perf en plus sans toucher au matos mais juste en plaçant mieux les tâches.

Le hic, c'est que ce CAS de base raisonne au niveau d'un seul LLC. Tant que votre charge tient dans un domaine de cache, nickel. Mais dès que la charge dépasse ce que peut contenir un seul cache partagé, l'ordonnanceur ne sait pas regrouper les tâches au niveau du dessus : elles se dispersent sur des cœurs qui ne partagent plus le même cache, et toute la localité s'évapore. Et ça tombe mal pour Hygon, dont les puces récentes ne sont pas un bloc unique mais un assemblage de chiplets (le C86-7490 en réunit quatre), avec plusieurs caches partagés éparpillés sur la galette.

D'où l'idée de développer ces patches, qui permettent un regroupement hiérarchique et offrent la possibilité de s'étendre ou de se contracter dynamiquement selon la taille de la charge et la topologie de la machine.

Hygon annonce donc jusqu'à +49% sur Hackbench , +20% sur Schbench (non, pas le rappeur), et ce fameux +360% sur MySQL !! C'est le feu !

Maintenant, avant de revendre votre PC pour en prendre un sous Hygon, attention ! Ces chiffres, ce sont des "jusqu'à", mesurés sur des topologies multi-domaines, donc typiquement de gros serveurs à plusieurs chiplets. Sur votre laptop avec un seul LLC, vous ne verrez donc sans doute rien passer.... Ouais, je sais, sniiiif. Le 360% n'est pas un gain universel, mais plutôt le pic sur la config qui souffrait le plus du problème.

Un fondeur chinois qui, parti d'une licence Zen d'AMD, en vient à pousser du code dans Linux pour faire tourner tout le monde plus vite, Intel et AMD compris, c'est chouette quand même. Si ça vous intéresse, les patches viennent d'être postés sur la mailing list du kernel , donc rien n'est encore intégré mais si ça passe la revue, c'est de la perf gratuite pour les machines qui en bavent le plus.

Source

USB4STREAM - Le transfert direct entre 2 machines sous Linux

Par : Korben ✨

Admettons que vous ayez besoin de transmettre des fichiers d'une machine A à une machine B, le plus vite possible et sans vous prendre la tête ?

Et bien j'ai ce qu'il vous faut et ça s'appelle USB4STREAM, qui vient d'être fraîchement mergé dans Linux 7.2. C'est Intel qui a pondu ce protocole "super simple" (c'est leur expression) pour balancer des paquets bruts d'une machine à une autre, directement par le câble USB4 ou Thunderbolt sans serveur intermédiaire... Juste deux bécanes et un fil.

Et effectivement, comme ils le disent, c'est super simple ! Une fois le module chargé et le stream configuré (un petit tour par ConfigFS pour faire apparaître le device), votre noyau expose des périphériques /dev/tbstreamX, et n'importe quelle application qui sait faire un read/write peut alors taper dedans.

Vous branchez le câble, et il vous suffit ensuite d'écrire dans le device qui doit expédier les données d'un côté, puis de les recevoir sur l'autre machine. C'est tout... Du Unix pur jus, où tout est un fichier.

Et les usages sont beaucoup plus larges qu'on ne croit... Y'a donc du transfert de fichiers d'un ordinateur à un autre, évidemment (un peu comme Croc , mais sans passer par le réseau du tout) mais aussi, pourquoi pas, du partage de webcam entre deux systèmes, ou permettre un accès à n'importe quel flux de données brutes en basse latence. Ainsi, plus besoin de passer par des serveurs tiers dans le cloud, ou d'installer un outil de transfert en réseau local .

Ça me rappelle quand je jouais avec les copains à des jeux vidéos en utilisant un port série sur le PC... À l'ancienne comme on aime, sauf qu'on est en 2026 et qu'on a maintenant 40 Gb/s dans le tuyau !

Puis contrairement à Thunderbolt qui nous promettait la vitesse de l'éclair il y a plus de dix ans (ouais, je vous sors les archives là...lol), là c'est natif Linux, et dispo pour tout le monde via un simple device !

Le choix raffiné : le câble, pas le cloud

Le patch d'Intel est d'ailleurs passé tranquillou puisqu'ils l'ont glissé dans le pull USB/Thunderbolt de la merge window, et c'est Linus Torvalds lui-même qui l'a mergé sur master sans la moindre objection. Et quand Linus laisse passer sans râler, c'est plutôt bon signe.

Le reste du lot vaut le coup d'œil aussi puisque cette même pull améliore l'allocation des tunnels DisplayPort en multi-écran sur Thunderbolt, et ajoute un pilote de température pour le contrôleur xHCI du chipset AMD Promontory 21. Notez que ce dernier a été écrit en partie par Codex, l'agent de codage d'OpenAI... Mais balek tant que c'est propre et que ça fonctionne.

Bref, si vous avez deux machines en USB4 sous la main, gardez un œil sur le noyau Linux 7.2...

Source

High-severity vulnerability in Linux caused by a single faulty character

Par : Dan Goodin

Researchers have analyzed a high-severity vulnerability in Linux that’s able to escalate untrusted users to root by exploiting a bug you don't often see: a single errant character inside the kernel.

The vulnerability, tracked as CVE-2026-23111, is located in nf_tables, a subsystem of the Linux kernel that provides packet filtering capabilities. It’s used to manage firewall rules and replaces older subsystems such as iptables, ip6tables, arptables, and ebtables.

!!!WTF!!!

The presence of a single mis-issued exclamation point in code implementing nf_tables introduced a use-after-free, a class of vulnerability that corrupts memory by placing malicious code at memory addresses that haven’t been properly freed of their previous contents. CVE-2026-23111 can be exploited by an unprivileged user or process to elevate system rights to root.

Read full article

Comments

ODROID-H5 : une carte de développement sous Core i3-N300

La ODROID-H5 et une carte de développement très complète qui embarque un processeur que je ne pensais plus revoir dans un nouveau produit, le Core i3-N300. Une puce de la gamme Alder Lake-N, lancée au début de 2023, 

ODROID-H5

ODROID-H5

Cette puce propose un TDP de 7 watts, propose 8 cœurs monothreads cadencés à 3.8 GHz et un circuit graphique avec 32 unités d’exécution cadencées à 1.25 GHz. Cela faisait un long moment qu’on n’en avait pas croisé dans un nouveau produit. Voir cette puce débarquer dans une SBC comme dans cette ODROID-H5 est donc une surprise.

La carte a des atouts intéressants avec pas moins de quatre ports M.2 2280 déployés dans différents formats. On retrouve trois ports M.2 en NVMe PCIe 3.0 x2 et un en PCIe 3.0 x1. La carte propose également un support pour un module eMMC. Son unique slot SODIMM permet de monter jusqu’à 64 Go de mémoire vive selon Hardkernel. Pour rappel, Intel indique que la puce est censée être limitée à 16 Go de mémoire, on avait vu des tests en 32 Go mais c’est à ma connaissance la première fois qu’un constructeur valide les 64 Go.

Exit les ports SATA qui étaient présents sur le précédent modèle. LA raison invoquée est que les ports NVMe sont plus intéressants. Même pour ceux qui veulent du SATA. Grâce à l’emploi de cartes type ASM1166, il sera possible d’ajouter 6 ports SATA par port NVMe PCIE 3.0 x2. Et donc jusqu’à 18 stockages au lieu de 4 ! La marque met également ena vant la possibilité de monter un SSD pour du stockage et des extensions composées de NPU pour de l’IA…

Pour le reste, on retrouve une connectique classique avec trois ports USB 2.0 Type-A, un USB 3.0 Type-A, deux DisplayPort 1.2, un HDMI 2.0, un Ethernet 10 Gigabit et un jeu de 24 broches IO. 

Les Broches GPIO de la ODROID-H5

Les Broches GPIO de la ODROID-H5

A noter que cette ODROID-H5 n’est pas la seule carte de la marque à être sortie sous Alder Lake-N. En 2024 nous découvrions la Odroid-H4 et son Core i3-N305 avec un TDP de 15 watts. Puce extrêmement difficile à trouver aujourd’hui, ce qui explique probablement pourquoi le constructeur bascule  sur le N300 pour son dernier modèle. Avec 7 watts de TDP, la puce Intel Core i3-N300 du H5 a pour elle de pouvoir mieux fonctionner en permanence. La marque en fait d’ailleurs un argument. Mais elle accuse des performances en légère baisse au global, ce qui n’aura probablement que peu d’importance pour les usages envisagés.

Autre changement, la gestion du réseau qui passe de deux ports Ethernet 2.5 Gigabit à un seul en 10 Gigabit. Les ports Jack audio et SPDIF ont également disparu, le son n’est plus géré que par les ports vidéo. Je suppose que Hardkernel navigue entre les disponibilités de puces et les besoins de ces clients.

Proposée à 285€ nue, sans mémoire ni stockage, la carte propose une fiche produit très détaillée qui fait le point sur ses capacités et même sa consommation électrique. Les frais de port varient semble-t-il suivant les options et le colis arrivant de Corée du Sud, des taxes seront sans doute ajoutées par-dessus.

Spécifications de la ODROID-H5

Processor Intel i3 N300 Octa-Core : Max Turbo Frequency 3.80 GHz
Memory 1 x DDR5 SO-DIMM slot
Single Channel, up to 4800 MT/s (5600MT/s or higher speed DRAM modules are still compatible)
Max memory capacity 64GB
In Band Error Correction Code (IBECC) Support
DDR3/DDR4 are not supported
Storage 1 x eMMC connector (bootable and selectable on BIOS)
Various eMMC modules can be purchased at Hardkernel store separately
3 x M.2 slot (PCIe 3.0 x 2, supports NGFF-2280 cards)
1 x M.2 slot (PCIe 3.0 x 1, supports NGFF-2280 cards)
Networking 1 x 10 GbE LAN ports (RJ45, supports 10/100/1000/2500/5000/10000 Mbps)
Realtek RTL8127
Supports Wake-On-Lan
LED indicators (Green: Link, Amber: Traffic)
Video 1 x HDMI 2.0 (up to 4K@60Hz)
2 x DisplayPort 1.2 (up to 4K@60Hz)
Audio No Analog output, only Digital output from HDMI and DisplayPort
External I/O 1 x USB 3.0 ports
3 x USB 2.0 ports
1 x Peripheral Expansion Header (24-pin, 2.54mm pitch)
– 1 x DC 5V, 1 x DC 3.3V, 5 x GND
– 1 x UART (TXD/RXD/RTS/CTS : 3.3Volt IO level)
– 2 x I2C (SCL/SDA : 3.3Volt IO level)
– 1 x External Power Button
– HDMI CEC, 5VA+
– 3 x USB 2.0
– All 3.3V I/O signal level
Other features Passive Heatsink
BIOS Backup Battery
– Maintains system time and BIOS settings
Power Button
Reset Button
System LEDS Indicators:
– Red (PWR) – Solid light when DC power is supplied
– Blue (left, SLEEP) – turns off only when the system enters into suspend mode
– Blue (right, PMIC) – turns on only when the major power rails are working
– Green (NVMe) – Flashes when NVMe data transfers
Active Cooling Fan Connector (12V 4-pin, PWM input + TACHO output)
– Active Cooling Fan is optional
– Connector (4-pin, 2.54mm pitch)
Power DC jack : outer (ground) diameter 5.5mm, inner(positive) diameter 2.1mm
DC input voltage range : 11V ~ 20V
– DC 15V/4A power adapter is recommended
Power consumption:
– Headless Idle : ≃ 3.3W
– Desktop GUI Idle : ≃ 4.5W
– CPU + GPU stress test : ≃25W
– Power-off : ≃0.4W
– Suspend : ≃0.9~1.3W
Form Factor 120mm x 120mm x 44mm Approx.
Weight : 320g including heatsink

ODROID-H5 : une carte de développement sous Core i3-N300 © MiniMachines.net. 2026

ssh-keysign-pwn - La faille kernel Linux cachée depuis 9 ans

Par : Korben ✨

Une faille planquée pendant 9 ans dans le noyau Linux, voilà ce que les chercheurs de Qualys viennent de déterrer. Son petit nom, c'est ssh-keysign-pwn ou DirtyDecrypt (CVE-2026-46333 pour les intimes), et elle permet à n'importe quel utilisateur local sans privilèges de passer root, de lire votre /etc/shadow et de piquer les clés SSH privées de votre serveur.

Et ce bug dormait là depuis novembre 2016, c'est-à-dire depuis la version 4.10 du kernel. Personne ne l'avait jamais vu et autant vous dire que 9 ans, en cybersécu, c'est une éternité !!

Le truc se cache dans une fonction au nom barbare, __ptrace_may_access(). En gros, quand un processus privilégié abandonne ses droits, y'a une micro-fenêtre, le temps d'un battement de cils, où il reste "accrochable" via ptrace. Vous combinez ça avec l'appel système pidfd_getfd() et hop, vous récupérez les fichiers ouverts d'un process root.

Et l'exploit disponible vise des binaires SUID que tout le monde a sur sa machine, genre ssh-keysign, chage, pkexec ou accounts-daemon.

Du coup, première chose à faire : vous mettez à jour, genre rapidos ! Linus Torvalds a poussé le correctif et si vous ne pouvez pas patcher tout de suite, faut taper la commande sysctl -w kernel.yama.ptrace_scope=2 qui a pour effet de refermer la porte en attendant.

Niveau distros, ça touche à peu près tout le monde, d'Ubuntu 14.04 jusqu'à la 26.04, en passant par Debian, Fedora et toute la famille Red Hat.

Et le plus gênant, c'est que ssh-keysign-pwn, c'est la 4e faille kernel en moins de trois semaines. On a eu CopyFail , Dirty Frag début mai, puis Fragnesia juste après, et maintenant celle-ci. Aïe aïe aïe ! Je commence à me lasser, sérieux ^^.

Le noyau Linux prend cher en ce moment et comme les exploits fonctionnels sont déjà publics, le compte à rebours est lancé pour tous ceux qui traînent !

Alors après tout le monde va vous parler des cybercriminels et des serveurs compromis, et c'est vrai, faut patcher. Mais pour moi, ce genre de faille, c'est aussi une clé qui sert aux bidouilleurs pour reprendre la main sur leur propre matériel. Votre routeur verrouillé, votre objet connecté que le fabricant a laissé tomber depuis quelques années, ce bon vieux NAS dont plus personne ne livre de firmware... une faille comme ça, c'est parfois le seul moyen de le faire revivre !

Bref, faites vos mises à jour. Et gardez en tête que ces mêmes failles qui font flipper les sysadmins, ce sont aussi celles qui redonnent vie au matos verrouillé qui n'avait pas d'autre avenir que de finir à la déchetterie.

Source

ModuleJail - Bloquer les modules kernel Linux inutilisés

Par : Korben ✨

Vous ne le savez peut-être pas mais votre serveur Linux embarque plusieurs milliers de modules kernel et pourtant, il n'en utilise que quelques centaines à peine. Tout le reste ça prend la poussière et ça peut vous exposer à des problèmes de sécurité. Hé bien c'est exactement à ces modules inutiles que Jasper Nuyens, le fondateur de Linux Belgium, vient s'attaquer avec son outil ModuleJail .

Ce script lit /proc/modules pour savoir ce qui tourne vraiment sur votre machine, et considère ensuite cet ensemble comme étant intouchable. Par contre, pour tout le reste il ajoute une ligne install <module> /bin/true dans /etc/modprobe.d/modulejail-blacklist.conf.

Comme ça si un jour quelque chose essaie de charger un de ces modules endormis, c'est modprobe qui exécutera /bin/true à la place... et il ne se passe rien !!

C'est malin, hein ? Vous pouvez installer ModuleJail via le script dispo sur la page Github ou grâce aux paquets .deb et .rpm si vous préférez. Et ensuite, pour vérifier que c'est bien en place, un petit modprobe -n -v module_banni devrait vous répondre install /bin/true.

En tout cas, je trouve que ModuleJail tombe très bien parce que la chasse aux failles kernel est clairement en train de changer d'échelle. Je pense notamment à tous ces outils de scan assistés par IA qui débusquent à la chaine des bugs d'élévation de privilèges planqués dans le code depuis des années.

Le script propose 3 profils via le flag -p, minimal pour le strict nécessaire, conservative par défaut (serveur classique plus drivers VM courants) et desktop qui garde WiFi, Bluetooth, audio et vidéo. Vous pouvez aussi ajouter votre propre whitelist.

Et la règle d'or non négociable, c'est de le lancer quand la machine est dans un état stable, avec tous les services démarrés, et tous les disques montés. Car oui, ModuleJail ne devine rien, mais se contente de photographier ce qui tourne à l'instant T. Donc sur un système à moitié démarré, ce serait un peu couillon qu'il bannisse un module dont vous aurez besoin plus tard.

Après pour tout ce qui est compilé en dur dans le kernel (le fameux =y de la config) ça reste là, donc une faille dans le cœur du noyau façon Dirty Cow , ça n'y changera rien du tout. Et si vous branchez une webcam six mois après, son module sera déjà banni donc faudra pas oublier de retirer sa ligne du fichier ou relancer le script avec une whitelist, car un simple modprobe ne suffira pas !

Donc c'est pas forcement le pied pour un Linux Desktop mais pour un parc de serveurs en prod qui ne bougent pas, c'est une petite couche de sécurité en plus.

Source

macOS - Votre réseau TCP meurt au bout de 49 jours

Par : Korben

49 jours, les amis, c'est la durée de vie d'un Mac avant que son réseau TCP ne s'effondre dans un silence assourdissant. Il suffit d'un overflow d'entier 32 bits dans le kernel XNU, une horloge interne qui se bloque, et hop, plus moyen d'ouvrir la moindre connexion. Le ping marche toujours, parce qu'ICMP se fout du TCP, mais pour le reste... c'est reboot obligatoire ou rien.

Pour savoir combien de temps il vous reste, tapez uptime dans le Terminal. Si votre Mac sous macOS Sequoia, Sonoma ou même Ventura tourne depuis plus de 7 semaines sans redémarrage, c'est le moment d'y remédier car le bug touche toutes les versions.

C'est l'équipe de Photon qui a révélé le problème. Celui-ci est apparu sur une flotte de Macs dédiée à la télémétrie iMessage. Pile 49,7 jours après le dernier redémarrage, plusieurs machines ont lâché en même temps. Plus de nouvelles connexions réseau, mais le ping répondait toujours.

En fouillant le code du noyau XNU d'Apple (qui est open source, faut le rappeler), ils sont tombé sur une variable tcp_now, qui est un compteur 32 bits qui s'incrémente chaque milliseconde. En gros, imaginez un compteur kilométrique qui arrivé au max (environ 4,3 milliards), repasse à zéro.

Sauf que le code contient un garde fou censé empêcher l'horloge de reculer du genre "si la nouvelle valeur est plus petite que l'ancienne, on ne met pas à jour". Ça a l'air malin mais en fait, au moment du rebouclage, patatras : la nouvelle valeur (proche de zéro) est forcément plus petite que l'ancienne (proche du max), du coup le garde fou bloque tout et l'horloge TCP se fige.

Et ensuite, ça part en cascade. Les connexions fermées restent normalement en TIME_WAIT durant 30 secondes sur macOS, avant d'être nettoyées par tcp_gc() mais avec l'horloge gelée, ce nettoyage ne se fait plus. Un netstat -an | grep TIME_WAIT montre alors la catastrophe en temps réel avec des connexions mortes qui s'empilent, et finissent par bouffer les 16 384 ports éphémères (range 49152-65535 sur macOS) restant... Et au bout de quelques heures, plus rien ne passe !

Photon a laissé tourner deux machines après l'overflow pour voir. Neuf heures plus tard, l'une affichait 8 000 connexions zombies et un load average de 49. La machine ne faisait plus que scanner sa propre file d'attente de connexions mortes.

Si ça vous rappelle quelque chose, c'est normal car j'sais pas si vous vous souvenais mais Windows 95 plantait au bout du même délai pour la même raison (le fameux GetTickCount() en 32 bits). Le Boeing 787 avait également un souci similaire au bout de 51 jours sur ses switches réseau, sans oublier le bug de l'an 2038 sous Unix, qui est la version signée du même phénomène. 30 ans séparent certains de ces bugs qui pourtant appartiennent à la même catégorie !

Après flippez pas car des devs avec des Macs à plus de 600 jours d'uptime disent n'avoir jamais eu le souci. À vrai dire, le bug ne se déclencherait que si votre Mac n'a aucun trafic TCP pile au moment de l'overflow. Si votre machine cause au réseau en permanence (et c'est le cas de 99% des Macs), l'horloge passe le cap sans broncher.

Les machines les plus exposées sont en fait les serveurs CI/CD sous macOS, les Mac mini en ferme de build Jenkins ou GitHub Actions, les Mac Pro dédiés au rendu 3D avec Blender ou Cinema 4D. Le MacBook qui passe en veille tous les soirs n'est pas vraiment concerné (le compteur tcp_now ne tourne pas pendant la veille, donc le délai de 49 jours ne concerne que le temps d'activité réel).

Maintenant pour vérifier votre compte à rebours personnel, ouvrez un Terminal et collez y ceci :

boot_sec=$(sysctl kern.boottime | grep -o 'sec = [0-9]*' | head -1 | awk '{print $3}')
now_sec=$(date +%s)
remain=$(( 4294967 - (now_sec - boot_sec) ))
echo "Temps restant avant overflow : $((remain/3600))h $((remain%3600/60))m"

Apple n'a pour l'instant rien communiqué sur le sujet, ce qui n'est guère surprenant vu que c'est un peu leur spécialité quand une vulnérabilité est remontée. L'équipe de Photon dit travailler sur un moyen de contourner le problème qui éviterait de rebooter, mais en attendant, le seul fix c'est le redémarrage, qui remet le compteur à zéro... et relance le compte à rebours.

Bref, y'a rien à faire si ce n'est de vérifier votre uptime et faire éventuellement un petit reboot préventif. Tic tac, l'horloge tourne ^^.

Source

Un driver Linux contre les périphériques USB piégés

Par : Korben

Vous vous souvenez de BadUSB ? Mais siiii, c'est ce truc dévoilé en 2014 à la Black Hat qui avait foutu la trouille à tout le monde. Ça montrait qu'un simple périphérique USB pouvait se faire passer pour un clavier et balancer des commandes à votre place. Hé bien depuis, les attaques se sont bien raffinées et c'est pourquoi un dev vient de proposer un module kernel Linux capable de détecter ces saloperies.

Enfin !

Ce module s'appelle hid-omg-detect et c'est signé Zubeyr Almaho. Le patch (déjà en v2) a été soumis le 4 avril dernier sur la LKML. Alors je pense que vous allez vous dire que c'est encore un truc qui va bloquer par défaut vos périphériques USB sauf que non, ça ne bloque rien. En fait, il surveille passivement les périphériques HID (claviers, souris...) et leur attribue un score de suspicion basé sur trois critères.

D'abord, l'entropie des frappes clavier. Un humain tape de manière irrégulière, avec des pauses, des hésitations, des fautes (perso je fais au moins 3 fautes de frappe par phrase ^^). Un câble trafiqué, lui, balance ses commandes avec une régularité de métronome, genre 500 caractères en 2 secondes sans une seule erreur. Ensuite, y'a la latence entre le branchement et la première frappe. Si votre "clavier" commence à taper immédiatement après avoir été branché... y'a comme un souci. Et enfin, le fingerprinting des descripteurs USB pour repérer les vendor/product IDs suspects ou les anomalies dans les descripteurs HID.

Pas con hein ? Et si le score dépasse un certain seuil (configurable), hop, le module balance un warning dans dmesg et vous oriente vers USBGuard pour bloquer le périphérique. Parce que hid-omg-detect ne touche à rien lui-même. Il sonne juste l'alarme, et c'est à vous d'agir !

Mais alors pourquoi lancer ça maintenant ?

Hé bien parce que les outils d'attaque USB sont devenus légion ! Les câbles O.MG (créés par le chercheur MG et distribués via Hak5), par exemple, ça ressemble à un câble USB lambda que vous emprunteriez sans réfléchir pour charger votre téléphone. Sauf que dedans y'a un implant WiFi capable d'injecter des frappes, de les logger, de spoofer les identifiants USB, le tout contrôlable à distance. Quand je pense qu'il y a quelques mois, des chercheurs montraient qu'une simple webcam Lenovo pouvait être transformée en dispositif BadUSB ... Sa fé grav réchéflir 🤓 comme dirait les citoyens souverains ^^.

Maintenant, en attendant que le patch soit accepté, vous n'êtes pas totalement démunis non plus. Des outils comme USBRip (un script Python, pip3 install usbrip) permettent déjà de tracer les connexions et déconnexions USB en parsant /var/log/syslog. Y'a pas ce scoring d'anomalies, mais au moins vous avez un historique pour savoir qui a branché quoi et quand. Et si vous êtes vraiment parano (et franchement, vous avez raison de l'être), USBGuard peut carrément whitelister vos périphériques de confiance et bloquer tout le reste. Mais le problème d'une telle solution c'est que ça demande de maintenir une liste blanche à jour, ce qui n'est pas toujours pratique quand on branche 15 trucs par jour.

On verra si les mainteneurs du kernel l'accepte... Après ça ne protégera pas contre tous les scénarios non plus. Un périphérique qui attend 30 secondes avant de commencer son injection pourrait passer sous le radar. Et si un attaquant injecte du jitter aléatoire dans ses frappes pour simuler un humain, là ce sera plus compliqué. Mais combiné avec USBGuard, ça donnera enfin une vraie ligne de défense native contre les attaques par périphériques USB piégés . Et c'est quand même mieux que de boucher ses ports au plâtre et ciment (Mais pleure pas au dessus du mortier...) !

Bref, va falloir garder un œil là-dessus.

Source

Linux find Windows 10 OEM product key command

Par : Vivek Gite

I removed and installed Ubuntu Linux 16.04 LTS on my development Lenovo laptop. However, I need to use my Windows 10 pro in KVM VM for running the accounting app. How do I find and print my embedded Windows 10 pro key from a Linux command line option? How can I retrieve Microsoft Windows 8 and 10 OEM product key from BIOS?

The post Linux find Windows 10 OEM product key command appeared first on nixCraft.

Linux Kernel 5.3 released and here is how to install it

Par : Vivek Gite

Linux kernel version 5.3 released. This version includes many improvements including support for AMD Navi GPU, support for new IPv4 addresses in the 0.0.0.0/8 range, the lightweight hypervisor ACRN for embedded IoT devices and much more.

The post Linux Kernel 5.3 released and here is how to install it appeared first on nixCraft.

How to upgrade Debian 9 to Debian 10 Buster using the CLI

Par : Vivek Gite

I have Debian 9.x installed on AWS EC2. How do I upgrade Debian 9 Stretch to Debian 10 Buster using the apt command/apt-get command CLI? How can I upgrade Debian 9 to Debian 10 using ssh client?

The post How to upgrade Debian 9 to Debian 10 Buster using the CLI appeared first on nixCraft.

Linux kernel 5.0 released and here is how to install it

Par : Vivek Gite

Linus Torvalds the creator and the principal developer of the Linux kernel announced the release of Linux kernel version 5.0. This release increases the major kernel version number to 5. from 4.x. The new change does not mean anything and does not affect programs in any way. From the mailing list:

Te overall changes for all of the 5.0 release are much bigger. But I'd like to point out (yet again) that we don't do feature-based releases, and that "5.0" doesn't mean anything more than that the 4.x numbers started getting big enough that I ran out of fingers and toes.

The post Linux kernel 5.0 released and here is how to install it appeared first on nixCraft.

❌