ACF : Faille CVE-2025-54940 : pourquoi la 6.4.3 reste une mise à jour à faire vite (même si le score CVSS est modéré)

Advanced Custom Fields (ACF) équipe plus de 2 millions de sites WordPress. Le 08/08/2025, une vulnérabilité référencée CVE-2025-54940 a été publiée. Elle concerne des injections HTML possibles dans certains usages d’ACF jusqu’à la version 6.4.2 incluse. L’éditeur WPEngine a livré un correctif en 6.4.3.

Détails de la faille CVSS

CVE : CVE-2025-54940
Base score : 4.6
Publiée le : 08/08/2025

CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N  → Base 4.6
CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:C/C:N/I:L/A:N → Base 3.4

Traduction : exploitation possible à distance, peu complexe, mais droits élevés requis et interaction utilisateur nécessaire ; impact surtout sur l’intégrité (injection/modification de contenu), pas sur la confidentialité ni la disponibilité. D’où un score “modéré” — mais pas à ignorer.

Ce que fait la vulnérabilité

Concrètement, un utilisateur ayant accès aux champs personnalisés peut insérer du code HTML qui sera affiché tel quel sur les pages.
Résultat : dégradation du rendu, tromperie des visiteurs via contenus piégés (faux boutons, bannières, liens), et tremplin vers du XSS selon la façon dont votre thème/blocs ré-affichent ces champs.

Côté administration, ACF indique que l’import involontaire de contenu malicieux (ex. via des JSON de groupes de champs) pouvait aussi poser problème dans certains cas d’usage.

Enfin, on peut présumer que dans certains contextes ACF, une simple édition de contenu par un utilisateur (pas forcément admin) pouvait suffire à exploiter la faille.

Pourquoi s’en soucier si le score est “seulement” 4.6 ?

  • Surface d’exposition énorme (plugin massivement déployé).
  • La combinaison “PR:H + UI:A” ne vous protège pas si vous avez plusieurs administrateurs/éditeurs puissants, si vous importez des JSON tiers, ou si des automatisations traitent des contenus ACF.
  • L’impact peut sembler “visuel”, mais un XSS de proximité peut devenir un levier d’escalade (vol de session admin, injection de scripts tiers, etc.) si l’échappement est laxiste.

Versions touchées et correctif

  • Vulnérables : ACF ≤ 6.4.2 (selon le contexte d’intégration et l’échappement).
  • Corrigé : 6.4.3 (ACF et ACF PRO).

Scénarios d’exploitation plausibles

  • Insertion de HTML piégé dans un champ ACF affiché “brut” par le thème → boutons factices, pop-ups, redirections.
  • Phishing interne : contenus ressemblant à des composants légitimes (CTA, formulaires) pour piéger les utilisateurs.
  • Chaîne vers XSS si la sortie n’est pas sécurisée (esc_html, esc_attr, wp_kses, etc.).
  • Import de groupes de champs (JSON) contenant des valeurs malicieuses, ensuite ré-affichées dans l’admin ou le front.

Que faire maintenant (priorités)

  1. Mettre à jour ACF en 6.4.3 partout (prod, préprod, clones).
  2. Développeurs : Vérifier l’échappement des champs ACF dans le thème/blocs/shortcodes : n’affichez jamais “brut” ce qui vient d’un champ.
  3. Vérifier les droits : qui peut créer/éditer des champs, importer des JSON, publier du contenu riche ?
  4. Éviter les imports non fiables : ne chargez pas de groupes de champs provenant de sources externes sans audit. Un bon rappel.
  5. Surveiller : WAF actif, logs d’admin, alertes sur modifications de templates/pages sensibles.

Durcissement recommandé (bonus)

  • Déployer une Content-Security-Policy pour limiter l’exécution de scripts non attendus.
  • Centraliser les sorties ACF via des helpers qui échappent systématiquement.
  • Repasser les pages critiques avec un scanner XSS et un crawl à la recherche d’éléments HTML inattendus.
  • Activer un WAF (pare-feu applicatif), comme actif par défaut sur les hébergements LRob.

FAQ

“Mon site a l’air sain, je peux attendre ?”

Mauvaise idée : le coût d’une MEP est minime face au risque d’un détournement de contenu sur des pages clés.

“Mon thème échappe déjà les variables, je suis couvert ?”

Tu réduis le risque, mais mets quand même à jour : tu ne maîtrises pas tous les points d’entrée (imports, blocs/shortcodes tiers).

“Je ne peux pas patcher aujourd’hui”

Active un WAF, gèle les comptes non indispensables, désactive temporairement les affichages “riches” susceptibles d’injection, puis planifie la mise à jour au plus vite.

Sources


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Catégories

Hébergement Web

Réussissez sur le web

Sécurité, performances, simplicité.
Les meilleurs outils pour vous servir.

Hébergement Nextcloud

Nextcloud

La meilleure suite collaborative libre

Maintenance Incluse

Webmaster Spécialiste WordPress

Gestion de site web WordPress

Webmaster spécialiste WordPress à Orléans

Confiez votre site à un expert en sécurité et maintenance WordPress

Réparation de sites WordPress piratés

angry-hacker-pirate

Votre site WordPress est piraté ?

Réparation et sécurisation durable de votre site WordPress.

🤖 LRobot, ton assistant IA