Atrilya
Toutes les analyses
WordPressCritiqueRéférence · CVE-2026-87902CVSS 9.2

CVE-2026-87902 : WordPress inclut un fichier PHP arbitraire via le gabarit de page

Publié le

Le 22 septembre 2026, WordPress corrige CVE-2026-87902, une traversée de chemin non authentifiée dans la résolution du gabarit de page, notée 9.2. Un visiteur sans compte peut forcer WordPress à inclure un fichier PHP lisible situé hors du thème actif. Patchstack a observé des sondes et des tentatives d’écriture de PHP dès la publication du correctif.

Où en est le correctif ?

Corrigé : WordPress 7.1.2 et 7.0.6 (rétroportage jusqu’à 4.7.37), 22 septembre 2026

Que fait concrètement cette faille ?

La faille se joue dans la sélection du gabarit de page. En envoyant un `page_id` qui pointe vers une page existante et un `pagename` contenant une traversée de chemin encodée, l’attaquant détourne `get_page_template()` : WordPress inclut alors un fichier PHP lisible situé en dehors du thème actif.

Le cœur de la faille est une inclusion de fichier local (LFI), pas une exécution de code inconditionnelle. L’exécution devient possible quand un fichier PHP contrôlable existe déjà sur le serveur (téléversement, journal empoisonné, session). Aucune authentification, aucun compte, aucune extension vulnérable ne sont requis.

Comment l’attaque contourne-t-elle les filtres ?

La charge voyage à la fois en GET et en POST. La profondeur de traversée varie de un à douze niveaux pour s’adapter aux différentes arborescences de thèmes et d’installations.

L’encodage est volontairement varié : hexadécimal majuscule et minuscule, simple et double encodage. Un filtre qui ne cherche que `../` en clair laisse passer la plupart de ces variantes.

Pourquoi est-ce urgent ?

Patchstack a relevé les premières requêtes de sondage et d’écriture de fichiers PHP le jour même du correctif ; le trafic d’exploitation a été multiplié par dix en quelques jours. La faille est entrée au catalogue CISA KEV.

WordPress tourne sur une large part du web : toutes les versions de 4.7.0 à 7.1.1 sont concernées. La fenêtre entre la publication du correctif et son déploiement sur chaque site est la vraie fenêtre de risque.

Que faire maintenant ?

Mettez WordPress à jour en 7.1.2, 7.0.6, ou la version rétroportée de votre branche (jusqu’à 4.7.37). Auditez ensuite les dossiers accessibles en écriture (téléversements, cache) à la recherche de fichiers PHP inattendus.

Filtrez à l’entrée les requêtes portant une traversée de chemin encodée dans `page_id`/`pagename`, en GET comme en POST : c’est exactement le rôle d’un patch virtuel, le temps que la mise à jour soit partout.

Qui est concerné ?

  • WordPress Core 4.7.0 à 7.1.1 : inclusion de fichier PHP local non authentifiée
  • CVSS v4.0 : 9.2 (critique). Inscrite au catalogue CISA KEV
  • Corrigé en 7.1.2 (branche 7.1) et 7.0.6 (branche 7.0), rétroportage jusqu’à 4.7.37
  • Sondes et tentatives d’écriture PHP observées dès le jour du correctif (22 septembre 2026)

Comment AtriShield bloque-t-il la faille ?

Patch virtuel : la faille est neutralisée à l’entrée de votre serveur, sans modifier votre application et sans attendre la fenêtre de maintenance. Les décisions et les journaux restent dans votre infrastructure.

  • ✓Patch virtuel à l’entrée : les requêtes portant une traversée de chemin encodée dans `page_id`/`pagename` sont coupées avant WordPress, en GET comme en POST.
  • ✓Les variantes d’encodage (hex majuscule/minuscule, simple et double) sont normalisées puis rejetées, pas seulement le `../` en clair.
  • ✓Aucune modification de votre thème ni de votre code : la protection s’ajoute en bordure, sans redéploiement.
  • ✓Le correctif WordPress reste à appliquer : le patch virtuel couvre l’intervalle, il ne le remplace pas.
Exploit→AtriShield×Magento

Sources

Analyse publiée par Atrilya Solutions à partir de publications de sécurité publiques. Les liens ci-dessus renvoient aux sources d’origine.

Autres analyses

Vous exploitez un serveur exposé ?

Nous regardons ensemble votre exposition (quelles applications, quelles versions, quelle surface), puis nous activons AtriShield en mode observation : vous voyez ce qui serait bloqué avant d’agir.

Parler à un ingénieur Atrilya Solutions