Copy Fail décortiqué : 732 octets, 9 ans d'angle mort, une faille universelle Linux

Un fichier Python plus court qu'un tweet. Et root sur toutes les machines Linux du monde depuis 2017. Copy Fail est peut-être la faille kernel la plus silencieuse — et la plus universelle — découverte en une décennie.

Qu'est-ce que Copy Fail ?

CVE-2026-31431, baptisée Copy Fail par les chercheurs de Theori qui l'ont découverte, est une vulnérabilité de type local privilege escalation (LPE) dans le kernel Linux. Son score CVSS est de 7.8 — qualifié de « High » — mais son impact réel est plus sévère que ce chiffre ne le suggère.

Le composant affecté est algif_aead : un module du sous-système cryptographique du kernel qui fournit des fonctions de chiffrement accélérées via les sockets AF_ALG. Ce module est présent — et actif — dans toutes les distributions Linux grand public depuis 2017.

Le principe d'exploitation est d'une élégance redoutable. Copy Fail exploite un bug logique dans la gestion des copies de buffer dans algif_aead, qui permet à un utilisateur non-privilégié de déclencher une écriture de 4 octets contrôlée dans le page cache de n'importe quel fichier lisible du système. En ciblant un binaire setuid (comme sudo ou passwd), l'attaquant peut modifier ses permissions et obtenir root.

Ce qui rend Copy Fail différent de Dirty Cow et Dirty Pipe

Les deux précédentes grandes LPE Linux — Dirty Cow (CVE-2016-5195) et Dirty Pipe (CVE-2022-0847) — avaient déjà fait la une. Copy Fail les surpasse sur un point crucial : l'absence de race condition.

Dirty Cow et Dirty Pipe nécessitaient de gagner une condition de concurrence — un timing précis dans l'exécution multi-thread. Cela les rendait fiables dans 95% des cas, mais pas dans 100%. Certains systèmes durcis avec des configurations kernel spécifiques pouvaient les rendre non fiables.

Copy Fail n'a pas ce problème. L'exploitation est déterministe : le même script de 732 octets de Python produit le même résultat sur essentiellement toutes les configurations Linux depuis 2017, sans nécessiter d'ajustement par cible.

C'est ce que les chercheurs de Theori résument dans le titre de leur analyse technique : « Copy Fail : Universal Linux Local Privilege Escalation Vulnerability ».

La surface d'attaque : des millions de clusters Kubernetes

Les chiffres de distribution touchée donnent l'échelle du problème :

  • Ubuntu 24.04 LTS (et antérieures)
  • Red Hat Enterprise Linux 10.1 (et dérivés CentOS, Fedora)
  • SUSE Linux Enterprise Server 16
  • Amazon Linux 2023
  • Et toute distribution ayant packagé le kernel linux depuis la version 4.14 (2017)

Concrètement, cela représente la quasi-totalité des serveurs Linux en production mondiale — et des millions de nodes Kubernetes tournant sur ces distributions.

L'exploitation requiert une condition préalable : l'exécution locale en tant qu'utilisateur non-privilégié. Copy Fail n'est pas une faille d'exécution de code à distance (RCE). Mais combinée avec n'importe quelle autre vulnérabilité permettant une foothold initiale — une injection, un accès SSH compromis, une RCE applicative — elle devient une élévation de privilèges universelle et fiable.

Dans les environnements multi-tenant (cloud public, clusters Kubernetes partagés), les implications sont plus graves : container breakout et mouvement latéral entre workloads deviennent trivials une fois qu'un attaquant a posé un pied dans un pod.

La réponse de l'écosystème : CISA, Red Hat, Ubuntu

La réponse institutionnelle a été rapide. La CISA (Cybersecurity and Infrastructure Security Agency) a ajouté CVE-2026-31431 à son catalogue Known Exploited Vulnerabilities (KEV) avec une échéance de patch obligatoire au 15 mai 2026 pour toutes les agences civiles fédérales américaines.

Red Hat a publié un bulletin de sécurité dédié (RHSB-2026-02) avec des packages kernel corrigés pour RHEL 10.1, 9.x et 8.x. Ubuntu a déployé des mises à jour pour 24.04 LTS, 22.04 LTS et 20.04 ESM. Amazon et SUSE ont suivi dans les 48 heures.

Pour les systèmes qui ne peuvent pas être patché immédiatement, une mitigation temporaire existe : bloquer la création de sockets AF_ALG via une règle seccomp ou une politique SELinux. Cette mesure désactive la fonctionnalité affectée sans mettre à jour le kernel, au prix d'une légère dégradation des performances cryptographiques sur les systèmes qui utilisent l'accélération matérielle.

Que faire maintenant

La procédure est simple et non ambiguë :

  1. Identifier les systèmes exposés : tout serveur Linux avec kernel ≥ 4.14 et < version patchée (vérifier avec uname -r)
  2. Prioriser les systèmes multi-tenant : Kubernetes nodes, environnements de CI/CD, serveurs partagés
  3. Appliquer le patch kernel via le gestionnaire de paquets de votre distribution
  4. Redémarrer — les patches kernel nécessitent un reboot (ou kpatch/livepatch pour les environnements qui ne peuvent pas interrompre le service)
  5. Vérifier les logs des 30 derniers jours pour des accès suspects à des binaires setuid

Pour les équipes SOC, les indicateurs de compromission sont difficiles à détecter post-coup car l'exploitation ne laisse pas de trace kernel spécifique. La surveillance préventive — anomalies sur les fichiers setuid, escalades de privilèges inattendues — est la meilleure défense.


FAQ

Est-ce que Copy Fail est exploitable à distance ?

Non directement. Copy Fail nécessite une exécution locale en tant qu'utilisateur non-privilégié. Mais dans les environnements cloud ou Kubernetes, une vulnérabilité applicative (RCE web, injection) peut fournir cet accès initial, après quoi Copy Fail permet l'escalade complète vers root.

Ma VM cloud (AWS EC2, GCP, Azure) est-elle touchée ?

Oui, si l'instance tourne sur Amazon Linux 2023, Ubuntu 24.04, RHEL ou toute distribution Linux non patchée depuis le 30 avril. Les hyperviseurs cloud ne protègent pas contre les LPE kernel dans la VM invitée.

Qu'est-ce que le sous-système algif_aead dans Linux ?

algif_aead est un composant du framework AF_ALG (Linux Kernel Crypto API) qui expose des fonctions de chiffrement AEAD (Authenticated Encryption with Associated Data) aux applications user-space via des sockets. Il permet à des logiciels comme OpenSSL ou WireGuard d'utiliser l'accélération matérielle cryptographique du processeur.

La mitigation seccomp est-elle suffisante à long terme ?

Non. Bloquer AF_ALG via seccomp est une mesure temporaire qui peut impacter les performances cryptographiques sur les systèmes qui utilisent activement cette interface. Le patch kernel reste l'unique solution définitive et doit être appliqué dès que possible.