🔍 Contexte

Publié le 25 juin 2026 par les chercheurs Eddy Tsalolikhin et Or Peles de JFrog Security Research, cet article présente une analyse technique approfondie de DirtyClone, une nouvelle variante de la famille de vulnérabilités DirtyFrag affectant le noyau Linux. La vulnérabilité est référencée CVE-2026-43503 (CVSS 8.8, sévérité haute).

🧬 Famille de vulnérabilités DirtyFrag

DirtyFrag est une famille de vulnérabilités de corruption mémoire dans la pile réseau du noyau Linux, exploitant l’intersection entre :

  • La mémoire fichier (page cache pour exécutables)
  • Les buffers réseau (socket buffers / skb)
  • Les transformations cryptographiques en place (ex: déchiffrement IPsec/XFRM)

Les variantes connues incluent DirtyFrag (CVE-2026-43284, CVE-2026-43500), Fragnesia (CVE-2026-46300) et DirtyClone (CVE-2026-43503).

⚙️ Mécanisme d’exploitation de DirtyClone

La vulnérabilité réside dans la fonction __pskb_copy_fclone() qui, lors du clonage d’un skb via la règle netfilter TEE, ne propage pas correctement le flag SKBFL_SHARED_FRAG. Ce flag est le marqueur de sécurité indiquant que le skb référence de la mémoire partagée issue du page cache.

Les étapes d’exploitation :

  1. Mappage d’un binaire privilégié (/usr/bin/su) en mémoire via mmap, le chargeant dans le page cache
  2. Injection du page cache dans un skb via vmsplice et splice
  3. Configuration d’un tunnel IPsec loopback avec CAP_NET_ADMIN (obtenu via user namespace non privilégié)
  4. Duplication du paquet via la règle iptables TEE, déclenchant __pskb_copy_fclone() — le skb cloné perd le flag de sécurité
  5. Déchiffrement AES-CBC en place par esp_input() écrivant directement dans la page cache
  6. Écriture contrôlée via manipulation de la clé AES, de l’IV et du layout du paquet pour produire des octets prédictibles
  7. Exécution du binaire modifié en mémoire → élévation de privilèges vers root

🎯 Impact et systèmes affectés

  • Distributions vulnérables : Debian, Ubuntu, Fedora (avec user namespaces non privilégiés activés)
  • Prérequis : CAP_NET_ADMIN (fréquemment obtenu via user namespaces)
  • Risque maximal : environnements cloud multi-tenant, clusters Kubernetes, workloads conteneurisés
  • Caractéristiques : silencieux, sans logs kernel ni traces d’audit, contourne les outils d’intégrité disque

🛠️ Correctifs

  • Patch mergé en mainline le 21 mai 2026 (commit 48f6a5356a33, tag v7.1-rc5, commit 9e171fc1d7d7)
  • CVE publié le 23 mai 2026
  • Workarounds : kernel.unprivileged_userns_clone=0 ou blacklist des modules esp4, esp6, rxrpc

📋 Type d’article

Publication de recherche offensive à visée éducative et CTI, démontrant un pattern d’exploitation générique affectant plusieurs chemins de traitement skb dans le noyau Linux.

🧠 TTPs et IOCs détectés

TTP

  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
  • T1611 — Escape to Host (Privilege Escalation)
  • T1055 — Process Injection (Defense Evasion)
  • T1548 — Abuse Elevation Control Mechanism (Privilege Escalation)

IOC

  • CVEs : CVE-2026-43503NVD · CIRCL
  • CVEs : CVE-2026-43284NVD · CIRCL
  • CVEs : CVE-2026-43500NVD · CIRCL
  • CVEs : CVE-2026-46300NVD · CIRCL
  • Chemins : /usr/bin/su

🟡 Indice de vérification factuelle : 50/100 (moyenne)

  • ⬜ research.jfrog.com — source non référencée (0pts)
  • ✅ 14331 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 4 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ 0/4 CVE(s) confirmée(s) (0pts)

🔗 Source originale : https://research.jfrog.com/post/dissecting-and-exploiting-linux-lpe-variant-dirtyclone-cve-2026-43503/