WordPress 5.x: aperçu des problèmes de compatibilité
La version 5.0.1 du célèbre système de gestion de contenu WordPress a récemment été publiée et a été suivie quelques jours après la publication de la version 5.0.2, avec pour objectif important de corriger plusieurs bogues présents dans la version majeure 5.0. La division officielle de l’équipe de sécurité a travaillé dur pour atténuer toutes les vulnérabilités détectées sans affecter négativement le niveau de compatibilité ascendante, mais malheureusement, dans certains cas, cela n’a pas été possible.
Les “compatibility breaks” affectent également les versions 4.8.8 et 4.9.9, car les backport de patch sont possibles à partir de la version 3.7.
Il se trouve que les éléments de formulaire ne transmettent plus le KSES. Avant la version 5.0.1, le tableau nommé $allowedposttags
prévoyait une entrée pour l’élément form
et certains de ses attributs.
Pour cette raison, les contributeurs et les auteurs pouvaient l’utiliser dans les publications. Mais cet élément a été supprimé dans la version 5.0.1, sauf si un plug-in spécifique enregistre explicitement les champs input
ou select
via le filtre wp_kses_allowed_html
. Si un contributeur ou un auteur introduit un form
dans le message, celui-ci sera alors supprimé lors de la sauvegarde du contenu, même discours pour le contenu arbitraire passé à wp_kses_post()
ou wp_kses_allowed_html( 'post' )
.
Bien qu’un auteur de plug-in puisse restaurer le comportement par défaut, en ajoutant les éléments form
, input
et select
via wp_kses_allowed_html
, cette stratégie réintroduit une vulnérabilité considérable (liée à KSES Strips Evil Scripts), et doit donc être utilisée avec parcimonie, uniquement avec les utilisateurs fiables pour permettre l’inclusion de balises de formulaire.
La deuxième problème de non-compatibilité concerne les fichiers de type MIME téléchargés par upload. Avant la version 5.0.1, WordPress n’exigeait pas le passage de la vérification de MIME-type
: les fichiers pouvaient être chargés même si le contenu réel ne correspondait pas à l’extension déclarée (par exemple, un fichier binaire pouvait être chargé avec l’extension.jpg
).
Au lieu de cela, le contenu du fichier est vérifié et doit correspondre à l’extension. Plusieurs fichiers doivent donc être renommés avec l’extension correcte (par exemple, un fichier OpenOffice sera associé à des extensions allant de.pptx
à .ppxs
).
Étiquette :Mises à jour, WordPress 5