
Analyse technique de CVE-2026-24072, une élévation de privilèges locale dans mod_rewrite du serveur HTTP Apache, incluant la cause racine, les correctifs et un laboratoire de test dockerisé pour la vérification.
CVE-2026-24072 est une vulnérabilité d'élévation de privilèges locale de sévérité modérée dans le serveur HTTP Apache 2.4.66 et versions antérieures. Elle permet aux auteurs locaux de fichiers
.htaccessde lire des fichiers arbitraires sur le système de fichiers avec les privilèges de l'utilisateurhttpden exploitant l'évaluation d'expressionsap_exprdansmod_rewrite,mod_setenvifetmod_proxy_fcgi.
| Champ | Valeur |
|---|
| ID CVE | CVE-2026-24072 |
| Sévérité | Modérée (élévation de privilèges locale / divulgation d'informations) |
| Versions concernées | Apache HTTP Server <= 2.4.66 |
| Version corrigée | Apache HTTP Server 2.4.67 |
| Vecteur d'attaque | Local (nécessite un accès en écriture à .htaccess) |
CVE-2026-24072-analysis.mdmod_rewrite.diff, mod_setenvif.diff, mod_proxy_fcgi.diffexamples/Le moteur d'évaluation d'expressions d'Apache (ap_expr) fournit des fonctions d'introspection du système de fichiers :
file(path) — lit le contenu des fichiersfilesize(path) — renvoie la taille du fichier-d path, -e path, -f path, -s path, -L path, -h path, -x path — tests du système de fichiersDans les versions 2.4.66 et antérieures, des modules tels que mod_rewrite (via RewriteCond expr=...), mod_setenvif (via SetEnvIfExpr) et mod_proxy_fcgi (via les expressions de condition ProxyFCGIBackendType) analysaient et évaluaient les expressions ap_expr sans transmettre le drapeau AP_EXPR_FLAG_RESTRICTED lorsqu'ils opéraient dans le contexte .htaccess. Cela signifiait que tout utilisateur local capable d'écrire un fichier .htaccess pouvait utiliser ces fonctions d'expression pour sonder ou lire le système de fichiers avec tous les privilèges du processus httpd.
Le correctif est conceptuellement simple : lors de l'analyse des expressions ap_expr dans le contexte .htaccess, transmettez le drapeau AP_EXPR_FLAG_RESTRICTED.
Les trois modules corrigés utilisent le même idiome pour détecter le contexte d'analyse .htaccess :
int in_htaccess = cmd->pool == cmd->temp_pool;
Lorsqu'Apache analyse les fichiers .htaccess, le pool de configuration par répertoire (cmd->pool) est le même que le pool temporaire (cmd->temp_pool). Il s'agit d'une convention interne bien connue d'Apache pour détecter le contexte .htaccess (par répertoire) par rapport au contexte du serveur principal / hôte virtuel.
| Fichier | Description |
|---|---|
CVE-2026-24072-analysis.md | Analyse technique complète et évaluation de l'impact |
mod_rewrite.diff | Correctif pour modules/mappers/mod_rewrite.c |
mod_setenvif.diff | Correctif pour modules/metadata/mod_setenvif.c |
mod_proxy_fcgi.diff | Correctif pour modules/proxy/mod_proxy_fcgi.c |
httpd-2.4.66/ | Arborescence source de la version vulnérable d'Apache |
httpd-2.4.67/ | Arborescence source de la version corrigée d'Apache |
examples/ | Fichiers .htaccess de preuve de concept |
Ce dépôt comprend un laboratoire de test Dockerisé qui vous permet d'alterner entre les modules mod_rewrite vulnérables et corrigés pour vérifier que le correctif fonctionne :
# Construire et démarrer le laboratoire
make build
make up
# Exécuter la matrice de tests automatisés complète (les deux variantes)
make test
Le laboratoire utilise un fichier sentinelle (/opt/sentinel/secret.txt) lisible uniquement par l'utilisateur daemon (l'utilisateur sous lequel httpd s'exécute). Sur la version vulnérable, les expressions .htaccess peuvent lire et correspondre au contenu de la sentinelle. Sur la version corrigée, l'analyse échoue avec not available in restricted context.
Consultez docs/TESTING.md pour le guide complet.
| Fichier | Description |
|---|---|
CVE-2026-24072-analysis.md | Analyse technique complète et évaluation de l'impact |
mod_rewrite.diff | Correctif pour modules/mappers/mod_rewrite.c |
mod_setenvif.diff | Correctif pour modules/metadata/mod_setenvif.c |
mod_proxy_fcgi.diff | Correctif pour modules/proxy/mod_proxy_fcgi.c |
httpd-2.4.66/ | Arborescence source de la version vulnérable d'Apache |
httpd-2.4.67/ | Arborescence source de la version corrigée d'Apache |
examples/ | Fichiers .htaccess de preuve de concept |
docker/ | Fichiers de construction Docker pour le laboratoire de test |
scripts/ | Scripts d'alternance et de test |
tests/ | Éléments de test et matrice |
docs/TESTING.md | Guide de test complet |
docs/session/ | Export de session du processus de conception |
Ce dépôt est destiné uniquement à des fins éducatives et défensives. Les exemples de preuve de concept sont destinés à aider les professionnels de la sécurité à comprendre et à se défendre contre cette vulnérabilité. N'utilisez pas ces techniques sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.