Dirty COW — CVE-2016-5195 (race condition kernel)

Kernel CVE

La vulnérabilité

Dirty COW (CVE-2016-5195) est une race condition dans la gestion du Copy-On-Write de la mémoire du noyau Linux. Elle permet à un utilisateur non privilégié d'écrire dans des fichiers en lecture seule (mappés), menant à une élévation de privilèges locale.

Mécanisme

# Course entre madvise(MADV_DONTNEED) et l écriture COW :
# 2 threads en parallèle ->
#   T1 : write répété dans /proc/self/mem sur le mapping
#   T2 : madvise(..., MADV_DONTNEED) en boucle
# La race fait écrire dans la page d origine (read-only)

# Exploits publics : dirtyc0w.c, écrasement de /etc/passwd
#   ou d un binaire SUID

Portée & correctif

Affectait quasiment toutes les versions du noyau Linux jusqu'en 2016 (serveurs, Android). Corrigé en durcissant la logique COW. Exemple emblématique d'élévation de privilèges par race condition — patcher le noyau est la seule vraie parade.