Mise à jour WordPress 6.2.1 provoquant la rupture des sites

Une récente mise à jour de sécurité de WordPress comportant plusieurs correctifs de sécurité entraîne également l’arrêt de certains sites, ce qui a poussé un développeur à s’exclamer  : « C’est le chaos  !  » La mise à jour a supprimé une fonctionnalité clé qui empêchait de nombreux plugins de fonctionner sur les sites utilisant le système de blocs WordPress. Les plugins concernés allaient des formulaires aux curseurs en passant par les fils d’Ariane.

Mise à jour WordPress 6.2.1

Les sites prenant en charge les mises à jour automatiques en arrière-plan ont automatiquement reçu la mise à jour WordPress 6.2.1 car il s’agissait d’une version de sécurité (officiellement, il s’agissait d’une version de maintenance et de sécurité).

Selon l’annonce officielle de la sortie de WordPress, la mise à jour contenait cinq correctifs de sécurité :

  1. « Bloquer les thèmes analysant les shortcodes dans les données générées par l’utilisateur ;…
  2. /li>

  3. Une faille permettant XSS via la découverte automatique intégrée ouverte ; rapporté indépendamment par Jakub Żoczek de Securitum et lors d’un audit de sécurité tiers
  4. Contournement du nettoyage KSES dans les attributs de bloc pour les utilisateurs à faibles privilèges ; découverte lors d’un audit de sécurité par un tiers
  5. Un problème de traversée de chemin via les fichiers de traduction ; rapporté indépendamment par Ramuel Gall et lors d’un audit de sécurité par un tiers

Le problème provient du premier correctif de sécurité, celui affectant les shortcodes dans les thèmes de blocs, qui est à l’origine des problèmes. Un shortcode est une seule ligne de code qui agit comme un substitut ou un espace réservé pour le code qui fournit des fonctionnalités comme un formulaire de contact. Ainsi, au lieu de configurer un formulaire de contact sur chaque page sur laquelle le formulaire apparaît, on peut simplement mettre une seule ligne appelée shortcode qui intégrera ensuite un formulaire de contact. Malheureusement, il a été découvert que les pirates pouvaient exécuter des codes abrégés dans le contenu généré par les utilisateurs (comme dans les commentaires de blog), ce qui pouvait alors conduire à un exploit.

WordFence décrit la vulnérabilité  :

« WordPress Core traite les shortcodes dans le contenu généré par l’utilisateur sur les thèmes de blocs dans les versions jusqu’à la 6.2 incluse. Cela pourrait permettre à des attaquants non authentifiés d’exécuter des codes abrégés en soumettant des commentaires ou d’autres contenus, leur permettant d’exploiter des vulnérabilités qui nécessitent généralement des autorisations au niveau de l’abonné ou du contributeur. WordFence poursuit en expliquant que la vulnérabilité est comme une faille qui peut activer une autre vulnérabilité plus grave. La solution à la vulnérabilité du shortcode consistait à supprimer entièrement la fonctionnalité de shortcode des modèles de blocs WordPress. La documentation officielle du correctif de vulnérabilité expliquait  : « Supprimez la prise en charge des codes courts des modèles de blocs. » Quelqu’un a créé une solution de contournement pour restaurer la prise en charge des codes abrégés dans les modèles de blocs WordPress.

Mais la solution de contournement a également restauré la vulnérabilité  :

« Pour ceux qui veulent rester sur 6.2.1 et qui ont besoin de restaurer la prise en charge des codes abrégés sur les modèles, vous pouvez essayer cette solution de contournement. … Mais sachez que la prise en charge a été supprimée pour résoudre un problème de sécurité et que la restauration de la prise en charge des codes courts vous ramène probablement le problème de sécurité. La désactivation de la prise en charge des codes abrégés a en fait rendu certains sites non fonctionnels, cessant de fonctionner complètement. Donc, ajouter la solution de contournement jusqu’à ce qu’une solution plus permanente soit trouvée était logique pour de nombreux utilisateurs.

Les développeurs WordPress appellent le correctif « Insane » et « Dumb »

Les développeurs de WordPress ont signalé leur frustration face à la mise à jour de WordPress :

Une personne a écrit :

« . c’est absolument fou pour moi que les shortcodes aient été supprimés par conception ! ! Chacun des sites FSE de notre agence utilise le bloc de shortcode dans les modèles pour tout  : filtres, recherche, ACF et intégrations de plugins. C’est la pagaille ! ! La solution de contournement ne semble pas fonctionner pour moi. Je vais revenir à une version précédente et j’espère qu’il y aura un correctif.

Une autre personne a posté :

«Oui, je ne comprends pas la haine de Gutenberg, mais ils auraient au moins dû interdire certains blocs comme Shortcode qu’ils supprimaient progressivement dans l’éditeur de site complet. C’était stupide de la part des développeurs WP. Les gens vont utiliser les anciennes méthodes à moins que vous ne leur disiez le contraire ou que vous ne les guidiez vers de nouvelles choses. Mais comme je l’ai dit, ce qui aurait été mieux, c’est de construire un pont via, par exemple, un bloc PHP officiel – ou en fait d’écouter ce que les utilisateurs et les développeurs veulent. L’un des plugins notables qui ont été affectés était Rank Math. La fonctionnalité de fil d’Ariane lorsqu’elle était présente sur les thèmes de bloc a échoué après la mise à jour 6.2.1. Une page d’assistance Rank Math contenait une demande de correctif d’un utilisateur du plugin Rank Math. Le support de Rank Math a recommandé d’ajouter un correctif de contournement. Malheureusement, cette solution de contournement ne restaure pas seulement la fonctionnalité de code court, elle restaure également la vulnérabilité. La mise à jour a également bloqué la fonctionnalité du plug-in Smart Slider 3.

Un fil de support a été ouvert sur la page du plugin Smart Slider 3 :

« Ce n’est pas totalement de votre faute, mais Automattic a décidé d’extraire les shortcodes des modèles de blocs. … revendiquant un « problème de sécurité » mais en gros nuisant à deux plugins que j’utilise, le vôtre inclus. Cela signifie que votre plugin montre juste [smartslider3 slider=”6″] lorsqu’il est utilisé dans un modèle FSE. Mais cela s’affiche bien dans l’éditeur FSE  ! Je pensais juste que vous voudriez savoir, avant que les personnes confuses qu’Automattic DEVRAIENT informer ne commencent à vous blâmer. Ils ne devraient pas simplement supprimer des fonctionnalités comme ça – c’est comme le mauvais vieux temps encore une fois. Je dois maintenant également trouver comment brancher un formulaire/code PHP pour mettre des listes de catégories dans les champs de recherche. Grr. L’équipe d’assistance de Smart Slider 3 a recommandé d’ajouter le correctif de contournement. D’autres dans le fil de discussion de WordPress.org sur le problème ont proposé des solutions. Si votre site est concerné, il peut être utile de lire la discussion.

Lisez la page d’assistance de WordPress sur le problème des codes courts

WordPress v6.2.1 brise le bloc de shortcode dans les modèles Image sélectionnée par Shutterstock/ViChizh