﻿﻿{"id":2953,"date":"2026-05-08T12:47:19","date_gmt":"2026-05-08T10:47:19","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/dirty-frag-lexploit-kernel-linux-qui-donne-un-acces-root-sur-toutes-les-distros\/"},"modified":"2026-05-08T12:47:19","modified_gmt":"2026-05-08T10:47:19","slug":"dirty-frag-lexploit-kernel-linux-qui-donne-un-acces-root-sur-toutes-les-distros","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/dirty-frag-lexploit-kernel-linux-qui-donne-un-acces-root-sur-toutes-les-distros\/","title":{"rendered":"Dirty Frag &#8211; L&#8217;exploit kernel Linux qui donne un acc\u00e8s root sur toutes les distros"},"content":{"rendered":"<p>Le chercheur en s\u00e9cu Hyunwoo Kim vient de l\u00e2cher dans la nature <strong>Dirty Frag<\/strong>, un nouvel exploit kernel Linux qui encha\u00eene 2 vuln\u00e9rabilit\u00e9s pour obtenir un acc\u00e8s root sur n&#8217;importe quelle distro majeure, avec un taux de r\u00e9ussite proche de 100%.<\/p>\n<p>L&#8217;embargo devait tenir encore quelques semaines. <strong>Il n&#8217;a pas tenu.<\/strong><\/p>\n<p>Et probl\u00e8me (et c&#8217;est pour \u00e7a que je vous en parle) c&#8217;est que \u00e7a marche du feu de dieu, et que personne n&#8217;a encore de patch disponible !! Alerte rouge donc !!<\/p>\n<p>La lign\u00e9e &#8220;Dirty&#8221; a donc maintenant quatre membres.<br \/>\n<a href=\"https:\/\/korben.info\/dirty-cow-faille-banalement-critique-noyau-linux.html\">Dirty COW<\/a><br \/>\nen 2016, avec ses 9 ans de pr\u00e9sence silencieuse dans le kernel avant d&#8217;\u00eatre d\u00e9couvert, Dirty Pipe en 2022,<br \/>\n<a href=\"https:\/\/korben.info\/copy-fail-faille-kernel-linux-decouverte-ia.html\">Copy Fail<\/a><br \/>\ndont je vous parlais il y a tout juste 8 jours, d\u00e9couvert par une IA. Et maintenant <strong>Dirty Frag<\/strong>, qui s&#8217;appuie sur le m\u00eame principe que Copy Fail tout en contournant sa mitigation connue.<\/p>\n<p><strong>Alors comment \u00e7a marche ?<\/strong><\/p>\n<p>Le concept du truc c&#8217;est l&#8217;abus d&#8217;un m\u00e9canisme tout \u00e0 fait l\u00e9gitime du kernel Linux : <code>splice()<\/code>. Cette fonction permet de faire circuler des donn\u00e9es entre deux descripteurs de fichiers sans les copier en m\u00e9moire. C&#8217;est tr\u00e8s utile, tr\u00e8s performant, mais dans certaines configurations, c&#8217;est surtout tr\u00e8s catastrophique.<\/p>\n<p>Dirty Frag exploite les modules r\u00e9seau d&#8217;IPsec (ESP) et du protocole RxRPC, ainsi quand un attaquant utilise <code>splice()<\/code> pour faire passer une page du cache m\u00e9moire (disons, <code>\/usr\/bin\/su<\/code>) dans un buffer r\u00e9seau, le kernel effectue son chiffrement directement sur cette page en RAM et sans faire de copie.<\/p>\n<p>R\u00e9sultat, les premiers octets de <code>\/usr\/bin\/su<\/code> en m\u00e9moire sont remplac\u00e9s par du code malveillant qui ouvre un shell root. Un simple appel \u00e0 <code>su<\/code> ensuite, et l&#8217;attaquant est root.<\/p>\n<p>Deux CVE sont impliqu\u00e9s dans la cha\u00eene. CVE-2026-43284 qui concerne les modules <code>esp4<\/code> et <code>esp6<\/code> et qui a \u00e9t\u00e9 patch\u00e9e depuis hier et CVE-2026-43500 qui concerne <code>rxrpc<\/code> et pour celle-ci, y&#8217;a aucun patch actuellement \u00e0 l&#8217;heure o\u00f9 j&#8217;\u00e9cris ces lignes.<\/p>\n<p>Le fait de chainer les 2 exploits permet \u00e0 chacun de combler les angles morts de l&#8217;autre. C&#8217;est un peu technique mais en gros, la variante ESP requiert les droits de cr\u00e9er un namespace utilisateur, ce qu&#8217;Ubuntu peut bloquer via AppArmor. Alors que de son c\u00f4t\u00e9, la variante RxRPC ne n\u00e9cessite pas ce privil\u00e8ge, mais le module <code>rxrpc.ko<\/code> n&#8217;est charg\u00e9 par d\u00e9faut que sur&#8230; Ubuntu. Du coup, une fois combin\u00e9s, ils couvrent toutes les distros majeures sans exception.<\/p>\n<p>Hyunwoo Kim a report\u00e9 la faille aux mainteneurs des distribs le 30 avril dernier, avec un accord de divulgation coordonn\u00e9e via <code>linux-distros@vs.openwall.org<\/code>. Mais un tiers ext\u00e9rieur (appelons le &#8220;connard&#8221; ^^) a bris\u00e9 l&#8217;embargo hier, d&#8217;o\u00f9 la publication imm\u00e9diate du PoC, avec l&#8217;accord des maintainers, pour \u00e9viter qu&#8217;un exploit silencieux circule sans que personne soit pr\u00e9venu.<\/p>\n<p>Les versions test\u00e9es et confirm\u00e9es vuln\u00e9rables sont donc Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44.<\/p>\n<p><strong>En gros, si vous avez un kernel compil\u00e9 depuis d\u00e9but 2017, vous \u00eates dans le scope.<\/strong><\/p>\n<p><strong>Tester avec Lima sur macOS<\/strong><\/p>\n<p>Si vous voulez reproduire \u00e7a dans un environnement contr\u00f4l\u00e9, l&#8217;id\u00e9e c&#8217;est de lancer une Ubuntu 24.04 avec le kernel non patch\u00e9 et de faire comme ceci :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\"># Cloner, compiler, et lancer\n<\/span><\/span><span class=\"line\"><span class=\"cl\">git clone https:\/\/github.com\/V4bel\/dirtyfrag.git\n<\/span><\/span><span class=\"line\"><span class=\"cl\">cd dirtyfrag\n<\/span><\/span><span class=\"line\"><span class=\"cl\">sudo apt install gcc -y &amp;&amp; gcc -O0 -Wall -o exp exp.c -lutil &amp;&amp; .\/exp\n<\/span><\/span><\/code><\/pre>\n<p>Et si tout se passe bien, vous obtenez alors un shell root sans faire paniquer le kernel comme chez moi ici :<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/dirtyfrag\/dirtyfrag-2.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Apr\u00e8s le test, le page cache est contamin\u00e9 donc avant de faire quoi que ce soit d&#8217;autre, faut le nettoyer. :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">echo 3 &gt; \/proc\/sys\/vm\/drop_caches\n<\/span><\/span><\/code><\/pre>\n<p>Ou plus simple, red\u00e9marrez la machine car la modification est uniquement en RAM, donc un reboot permet de repartir de z\u00e9ro.<\/p>\n<p><strong>Alors que faire ?<\/strong><\/p>\n<p>H\u00e9 bien, comme aucun patch n&#8217;est disponible pour la plupart des distros \u00e0 l&#8217;heure o\u00f9 j&#8217;\u00e9cris ces lignes, vous pouvez vous mettre en boule et pleurer. Sauf si vous \u00eates sous AlmaLinux car eux ont d\u00e9j\u00e0 pouss\u00e9 des kernels corrig\u00e9s. Apr\u00e8s vous pouvez aussi s\u00e9cher vos larmes si vous \u00eates sur une autre distro, et suivre cette rem\u00e9diation qui vous prendra trente secondes :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">sh -c \"printf 'install esp4 \/bin\/falseninstall esp6 \/bin\/falseninstall rxrpc \/bin\/falsen' &gt; \/etc\/modprobe.d\/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2&gt;\/dev\/null; echo 3 &gt; \/proc\/sys\/vm\/drop_caches; true\"\n<\/span><\/span><\/code><\/pre>\n<p>Cette commande fait trois choses : elle blackliste les modules vuln\u00e9rables pour qu&#8217;ils ne se rechargent pas au prochain boot, elle les d\u00e9charge s&#8217;ils sont actifs, et elle nettoie le page cache au cas o\u00f9 il serait d\u00e9j\u00e0 corrompu.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/dirtyfrag\/dirtyfrag-3.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Apr\u00e8s c&#8217;est tranquille \u00e0 faire car esp4, esp6 et rxrpc ne sont pas des modules que la plupart des machines desktop utilisent au quotidien. Les d\u00e9sactiver n&#8217;a donc aucun impact visible sur 99% des setups. Mais un serveur qui fait du VPN IPsec en mode transport ESP, lui, sera affect\u00e9&#8230;<\/p>\n<p>En tout cas, surveillez \u00e7a de pr\u00e8s car une fois que votre distro sortira le patch, faudra mettre \u00e0 jour et rebooter.<\/p>\n<p>Source :<br \/>\n<a href=\"https:\/\/github.com\/V4bel\/dirtyfrag\">https:\/\/github.com\/V4bel\/dirtyfrag<\/a>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Le chercheur en s\u00e9cu Hyunwoo Kim vient de l\u00e2cher dans la nature Dirty Frag, un nouvel exploit kernel Linux qui encha\u00eene 2 vuln\u00e9rabilit\u00e9s pour obtenir un acc\u00e8s root sur n&#8217;importe quelle distro majeure, avec un taux de r\u00e9ussite proche de 100%. L&#8217;embargo devait tenir encore quelques semaines. Il n&#8217;a pas tenu. Et probl\u00e8me (et c&#8217;est pour \u00e7a que je vous en parle) c&#8217;est que \u00e7a marche du feu de dieu, et que personne n&#8217;a encore de patch disponible !! Alerte rouge donc !! La lign\u00e9e &#8220;Dirty&#8221; a donc maintenant quatre membres. Dirty COW en 2016, avec ses 9 ans de pr\u00e9sence silencieuse dans le kernel avant d&#8217;\u00eatre d\u00e9couvert, Dirty Pipe en 2022, Copy Fail dont je vous parlais il y a tout juste 8 jours, d\u00e9couvert par une IA. Et maintenant Dirty Frag, qui s&#8217;appuie sur le m\u00eame principe que Copy Fail tout en contournant sa mitigation connue. Alors comment \u00e7a marche ? Le concept du truc c&#8217;est l&#8217;abus d&#8217;un m\u00e9canisme tout \u00e0 fait l\u00e9gitime du kernel Linux : splice(). Cette fonction permet de faire circuler des donn\u00e9es entre deux descripteurs de fichiers sans les copier en m\u00e9moire. C&#8217;est tr\u00e8s utile, tr\u00e8s performant, mais dans certaines configurations, c&#8217;est surtout tr\u00e8s catastrophique. Dirty Frag exploite les modules r\u00e9seau d&#8217;IPsec (ESP) et du protocole RxRPC, ainsi quand un attaquant utilise splice() pour faire passer une page du cache m\u00e9moire (disons, \/usr\/bin\/su) dans un buffer r\u00e9seau, le kernel effectue son chiffrement directement sur cette page en RAM et sans faire de copie. R\u00e9sultat, les premiers octets de \/usr\/bin\/su en m\u00e9moire sont remplac\u00e9s par du code malveillant qui ouvre un shell root. Un simple appel \u00e0 su ensuite, et l&#8217;attaquant est root. Deux CVE sont impliqu\u00e9s dans la cha\u00eene. CVE-2026-43284 qui concerne les modules esp4 et esp6 et qui a \u00e9t\u00e9 patch\u00e9e depuis hier et CVE-2026-43500 qui concerne rxrpc et pour celle-ci, y&#8217;a aucun patch actuellement \u00e0 l&#8217;heure o\u00f9 j&#8217;\u00e9cris ces lignes. Le fait de chainer les 2 exploits permet \u00e0 chacun de combler les angles morts de l&#8217;autre. C&#8217;est un peu technique mais en gros, la variante ESP requiert les droits de cr\u00e9er un namespace utilisateur, ce qu&#8217;Ubuntu peut bloquer via AppArmor. Alors que de son c\u00f4t\u00e9, la variante RxRPC ne n\u00e9cessite pas ce privil\u00e8ge, mais le module rxrpc.ko n&#8217;est charg\u00e9 par d\u00e9faut que sur&#8230; Ubuntu. Du coup, une fois combin\u00e9s, ils couvrent toutes les distros majeures sans exception. Hyunwoo Kim a report\u00e9 la faille aux mainteneurs des distribs le 30 avril dernier, avec un accord de divulgation coordonn\u00e9e via linux-distros@vs.openwall.org. Mais un tiers ext\u00e9rieur (appelons le &#8220;connard&#8221; ^^) a bris\u00e9 l&#8217;embargo hier, d&#8217;o\u00f9 la publication imm\u00e9diate du PoC, avec l&#8217;accord des maintainers, pour \u00e9viter qu&#8217;un exploit silencieux circule sans que personne soit pr\u00e9venu. Les versions test\u00e9es et confirm\u00e9es vuln\u00e9rables sont donc Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44. En gros, si vous avez un kernel compil\u00e9 depuis d\u00e9but 2017, vous \u00eates dans le scope. Tester avec Lima sur macOS Si vous voulez reproduire \u00e7a dans un environnement contr\u00f4l\u00e9, l&#8217;id\u00e9e c&#8217;est de lancer une Ubuntu 24.04 avec le kernel non patch\u00e9 et de faire comme ceci : # Cloner, compiler, et lancer git clone https:\/\/github.com\/V4bel\/dirtyfrag.git cd dirtyfrag sudo apt install gcc -y &amp;&amp; gcc -O0 -Wall -o exp exp.c -lutil &amp;&amp; .\/exp Et si tout se passe bien, vous obtenez alors un shell root sans faire paniquer le kernel comme chez moi ici : Apr\u00e8s le test, le page cache est contamin\u00e9 donc avant de faire quoi que ce soit d&#8217;autre, faut le nettoyer. : echo 3 &gt; \/proc\/sys\/vm\/drop_caches Ou plus simple, red\u00e9marrez la machine car la modification est uniquement en RAM, donc un reboot permet de repartir de z\u00e9ro. Alors que faire ? H\u00e9 bien, comme aucun patch n&#8217;est disponible pour la plupart des distros \u00e0 l&#8217;heure o\u00f9 j&#8217;\u00e9cris ces lignes, vous pouvez vous mettre en boule et pleurer. Sauf si vous \u00eates sous AlmaLinux car eux ont d\u00e9j\u00e0 pouss\u00e9 des kernels corrig\u00e9s. Apr\u00e8s vous pouvez aussi s\u00e9cher vos larmes si vous \u00eates sur une autre distro, et suivre cette rem\u00e9diation qui vous prendra trente secondes : sh -c &#8220;printf &#8216;install esp4 \/bin\/falseninstall esp6 \/bin\/falseninstall rxrpc \/bin\/falsen&#8217; &gt; \/etc\/modprobe.d\/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2&gt;\/dev\/null; echo 3 &gt; \/proc\/sys\/vm\/drop_caches; true&#8221; Cette commande fait trois choses : elle blackliste les modules vuln\u00e9rables pour qu&#8217;ils ne se rechargent pas au prochain boot, elle les d\u00e9charge s&#8217;ils sont actifs, et elle nettoie le page cache au cas o\u00f9 il serait d\u00e9j\u00e0 corrompu. Apr\u00e8s c&#8217;est tranquille \u00e0 faire car esp4, esp6 et rxrpc ne sont pas des modules que la plupart des machines desktop utilisent au quotidien. Les d\u00e9sactiver n&#8217;a donc aucun impact visible sur 99% des setups. Mais un serveur qui fait du VPN IPsec en mode transport ESP, lui, sera affect\u00e9&#8230; En tout cas, surveillez \u00e7a de pr\u00e8s car une fois que votre distro sortira le patch, faudra mettre \u00e0 jour et rebooter. Source : https:\/\/github.com\/V4bel\/dirtyfrag<\/p>\n","protected":false},"author":1,"featured_media":2954,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2953","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2953"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2953\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2954"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}