Avis de sécurité Blog Floating Button
Si vous avez reçu de ma part un courriel renvoyant vers cette page, c’est parce que votre site
semble utiliser une version de Blog Floating Button (l’extension WordPress de sunhaengsa /
kuma-chan, qui se trouve dans vos fichiers sous
/wp-content/plugins/blog-floating-button/) qui entre dans la plage concernée par un problème
de sécurité connu. Cette page explique en quoi consiste ce problème, comment vérifier quelle
version vous utilisez, comment mettre à jour et quoi faire ensuite.
Le problème est CVE-2026-15383, une faille de script intersite stocké exploitable sans authentification, située dans la fonctionnalité de suivi des clics et de rapport de l’extension. Elle concerne toutes les versions antérieures à la 1.4.21 et elle est corrigée dans la 1.4.21, publiée le 31 juillet 2026. Si vous utilisez une version plus ancienne que la 1.4.21, mettez Blog Floating Button à jour vers la 1.4.21 ou une version ultérieure.
Un point mérite d’être posé clairement, car il diffère de certains autres avis que j’ai envoyés : il n’existe aucune version ancienne qui soit saine. Il ne s’agit pas d’une faille introduite à un moment de l’histoire de l’extension puis corrigée. La protection manquante l’était dans toutes les versions jamais publiées par l’extension, jusqu’à la 1.4.20 incluse : « mon installation est trop ancienne pour être concernée » n’est donc pas une issue ici. Les seules versions non concernées sont la 1.4.21 et les suivantes.
Cet avis ne dépend pas non plus de la façon dont votre site est configuré. Aucun réglage n’a besoin d’être activé pour que le code concerné soit présent.
Il s’agit d’une faille de l’extension, et non du noyau WordPress. Un WordPress parfaitement à jour ne vous protège pas si l’extension Blog Floating Button elle-même est dans une version concernée.
Ce message est-il légitime ?
Oui. Il s’agit d’un avis de divulgation responsable, de bonne foi, émis par un chercheur en sécurité indépendant. Je ne vous demande ni argent, ni mots de passe, ni accès à votre site, et je n’ai pas tenté d’y entrer, de lui envoyer quoi que ce soit ni d’exploiter quoi que ce soit.
Je me suis contenté de consulter des fichiers publics que votre site sert à tout visiteur (de la même manière que votre page d’accueil est publique) et de relever le numéro de version que publie l’extension. Je n’ai en particulier rien envoyé à la fonctionnalité de suivi de l’extension, et rien dans cette vérification ne touche à vos données, à votre espace d’administration ni à aucune partie privée de votre site (plus de détails sous Ce que j’ai fait et n’ai pas fait ci-dessous).
Si vous souhaitez vérifier qui je suis, voyez les coordonnées au bas de cette page et la page À propos.
Pourquoi cela compte
Blog Floating Button ajoute un bouton flottant à vos articles et à vos pages, et elle conserve son propre relevé des clics et des visites afin que vous puissiez les consulter ensuite dans un rapport d’analyse d’accès, à l’intérieur de l’espace d’administration WordPress. Les deux moitiés de cette fonctionnalité sont impliquées ici.
Dans les versions concernées, l’extension accepte des données de suivi de n’importe qui, sans connexion requise, et enregistre dans sa propre table de base de données une partie de ce que le navigateur visiteur a déclaré à son sujet, exactement telle que reçue, sans la nettoyer. Plus tard, lorsque l’écran de rapport affiche ces lignes enregistrées, il les inscrit dans la page telles quelles. La conséquence est qu’un texte enregistré par un visiteur anonyme peut être traité comme du code au moment où le rapport est affiché.
L’endroit où ce code s’exécute est le point sur lequel il vaut la peine d’être précis, et ce n’est pas ce que la formulation de l’avis public laisse entendre. L’écran de rapport se trouve dans l’espace d’administration WordPress. Le code s’exécuterait donc dans le navigateur d’un administrateur connecté qui ouvre le rapport d’accès de l’extension, et non dans celui de vos visiteurs ordinaires. Si vous craigniez que les personnes qui parcourent votre site soient attaquées par ce biais : ce n’est pas le cas, et je préfère le dire franchement plutôt que de vous laisser une impression plus alarmante que les faits ne le justifient.
Cela fixe aussi l’ampleur du problème. Il s’agit d’une véritable faille stockée exploitable sans authentification, qu’il vaut la peine de corriger rapidement, mais elle est plus étroite que les problèmes de prise de contrôle de compte et d’exécution de code à distance dont je parle ailleurs. Elle ne remet à elle seule un compte administrateur à personne, et elle ne donne à elle seule à personne le contrôle de votre serveur. Il faut qu’un administrateur ouvre un écran bien particulier pour que quoi que ce soit se produise.
Une seconde correction voyage dans la même version. Le journal des modifications de la 1.4.21 indique également qu’elle a corrigé une faille d’injection SQL dans les paramètres de recherche et de filtrage de l’écran de rapport. Aucun avis distinct ni identifiant CVE n’a été publié pour celle-ci, autant que je puisse en juger, je ne vais donc pas lui attacher d’identifiant ; je la mentionne parce que la mise à jour vers la 1.4.21 la règle aussi. La même version a par ailleurs corrigé un problème de rapport d’erreurs susceptible de révéler des chemins de fichiers du serveur, et l’éditeur a mené une revue de l’échappement des sorties et de l’assainissement des entrées sur l’ensemble de l’extension. Tout cela revient à dire que la 1.4.21 est une version de sécurité, et qu’elle vaut la peine d’être installée même si le problème principal vous paraît bénin.
Je décris tout ceci au niveau dont un propriétaire de site a besoin pour agir, et pas au-delà. Je ne publie pas les détails qui permettraient à quelqu’un de reproduire la faille, et je vous demande de ne pas l’essayer contre votre propre site ni contre celui d’autrui. Lire votre numéro de version, comme décrit ci-dessous, vous dit tout ce dont vous avez besoin pour décider quoi faire.
Si mon courriel citait ce problème, cela signifie que la version annoncée par votre site est plus ancienne que la 1.4.21. Je n’ai pas testé si votre site en particulier était exploitable ; tout ce que j’ai observé, c’est la version.
Suis-je concerné ?
Tout tient à une question : quelle version de Blog Floating Button utilisez-vous ?
Depuis l’espace d’administration WordPress (source faisant foi) :
- Connectez-vous à votre tableau de bord WordPress (généralement
votredomaine.fr/wp-admin). - Allez dans Extensions puis Extensions installées.
- Repérez Blog Floating Button, l’entrée dont le dossier est
blog-floating-button, et notez la version affichée sous son nom.
Depuis le manifeste public (sans connexion) : ouvrez
votredomaine.fr/wp-content/plugins/blog-floating-button/readme.txt dans un navigateur. La
ligne Stable tag:, près du début, indique la version annoncée par votre installation :
c’est ce même fichier public que j’ai lu. Pour cette extension, elle concorde exactement avec
la version affichée dans l’espace d’administration, dans toutes les versions publiées.
Une vérification qui ne fonctionne pas pour cette extension, merci donc de ne pas vous y
fier. Si vous avez l’habitude de lire les versions d’extensions dans le numéro ?ver=
accolé à un script ou à une feuille de style dans le code source de vos pages, cela vous
induira en erreur ici. L’extension n’appose pas sa propre version sur ces fichiers, WordPress
y inscrit donc la version du noyau WordPress à la place. Un numéro comme 6.8.5 ou 7.0.1
à côté d’un fichier de cette extension est votre version de WordPress, et non celle de
l’extension : le comparer à la 1.4.21 n’a aucun sens. Utilisez l’écran d’administration ou
readme.txt.
Appliquez ensuite cette règle, en notant que les versions se comparent numériquement et non alphabétiquement : la 1.4.21 est donc plus récente que la 1.4.9, même si elle paraît plus petite en tant que texte.
- Toute version plus ancienne que la 1.4.21 : concernée. Mettez à jour. Il n’y a pas de seuil en dessous duquel une version plus ancienne redeviendrait saine.
- 1.4.21 ou plus récente : déjà corrigée.
Comment mettre à jour
L’extension est gratuite, toujours publiée et activement maintenue : le correctif s’obtient donc par une mise à jour ordinaire. La voie la plus sûre est de mettre à jour depuis WordPress lui-même, après avoir fait une sauvegarde :
- Sauvegardez votre site (fichiers et base de données) avant toute modification. La plupart des hébergeurs proposent des sauvegardes en un clic, sinon utilisez une extension de sauvegarde WordPress.
- Dans l’administration WordPress, allez dans Tableau de bord puis Mises à jour, ou dans Extensions puis Extensions installées. Si une mise à jour de Blog Floating Button est proposée, installez-la depuis là.
- Si vous préférez la ligne de commande, WP-CLI fait la même chose :
wp plugin update blog-floating-button. - Si aucune mise à jour n’apparaît, vous pouvez récupérer la dernière version directement depuis la page de l’extension dans le répertoire WordPress.org, Blog Floating Button, et mettre à jour via Extensions puis Ajouter une extension puis Téléverser une extension.
- Après la mise à jour, confirmez le nouveau numéro de version (1.4.21 ou ultérieure) en suivant les étapes ci-dessus, et vérifiez que votre bouton flottant s’affiche et se comporte toujours normalement.
Pendant que vous y êtes, il vaut la peine de confirmer que le noyau WordPress et vos autres extensions sont à jour, car le même principe vaut pour tous.
Après la mise à jour
Passer à la 1.4.21 ou à une version ultérieure ferme le problème : l’écran de rapport nettoie désormais chaque valeur avant de l’afficher, si bien que les données de suivi enregistrées sont présentées comme du texte plutôt que traitées comme du code.
Ce qui a pu déjà se produire, formulé avec soin. Tout ce qu’un visiteur anonyme a enregistré avant votre mise à jour se trouve toujours dans la table de suivi de l’extension, mais cela n’aurait pu produire un effet que si l’un de vos administrateurs avait réellement ouvert le rapport d’accès de l’extension pendant que le site utilisait une version concernée. Si personne n’a utilisé cet écran, rien n’a eu l’occasion de s’exécuter. La mise à jour empêche toute exécution future ; elle n’annule pas ce qui s’est déjà exécuté.
Si vos administrateurs utilisent effectivement ce rapport régulièrement, ou si vous souhaitez simplement être rigoureux, voici des vérifications raisonnables et peu coûteuses :
- Passez en revue vos comptes administrateurs. Dans l’administration WordPress, allez dans Utilisateurs, filtrez sur Administrateur et confirmez que chaque compte de la liste appartient à une personne qui doit disposer de cet accès, avec l’adresse électronique attendue.
- Examinez les modifications récentes apportées aux comptes, aux réglages et au contenu de votre site, à la recherche de tout élément que vous ne reconnaissez pas.
- Si quelque chose vous semble anormal, réinitialiser les mots de passe des administrateurs est
une étape suivante sensée, et régénérer les clés secrètes et « salts » de WordPress dans
wp-config.php(de nouvelles valeurs sont à un clic sur le générateur officiel) déconnecte tous les utilisateurs une fois.
Je n’ai aucune visibilité sur ce qui s’est réellement passé ou non sur votre site, et je n’ai pas regardé. Il s’agit d’un avis de précaution, et non d’un rapport d’incident.
Ce que j’ai fait et n’ai pas fait
Pour être parfaitement transparent sur la vérification à l’origine de mon courriel : je n’ai lu
que des fichiers publics que votre site sert déjà à tout visiteur, précisément le readme.txt
public de l’extension et votre page d’accueil. Je n’ai pas accédé à votre espace
d’administration WordPress, à votre base de données, ni à aucune partie privée du site, et je
n’ai jamais ouvert l’écran de rapport de votre extension, ce que je ne pourrais de toute façon
pas faire sans un compte sur votre site.
En particulier, je n’ai jamais rien envoyé à la fonctionnalité de suivi de l’extension. Rien n’a été soumis, enregistré, testé ni exploité. Cela compte davantage ici que sur la plupart de ces pages, car la fonctionnalité de suivi est précisément l’objet de ce problème : « je n’y ai pas touché » fait toute la différence entre une divulgation et une intrusion.
Je m’abstiens également, délibérément, de publier les détails qui aideraient quelqu’un à agir sur ce problème. La description ci-dessus s’arrête au niveau dont un propriétaire de site a besoin, et je ne renvoie vers aucun code de démonstration.
Il s’agit d’une observation fondée sur la version : votre site annonce une version plus ancienne que la 1.4.21. Un site dans cette plage peut déjà être protégé par d’autres moyens, comme un pare-feu applicatif web ou un correctif rétroporté. Cet avis n’affirme pas que votre site était exploitable au moment où je l’ai vérifié.
Je n’ai pas de webmestre / je suis bloqué
Si vous n’êtes pas la personne qui maintient le site, transmettez cette page à celle qui s’en charge (votre développeur, votre agence ou votre hébergeur). Ces étapes lui parleront immédiatement.
Si vous maintenez le site vous-même et que vous êtes bloqué, je vous oriente volontiers, gratuitement. Écrivez-moi via les coordonnées ci-dessous.
Contact
Evan Harris, chercheur en sécurité
- Courriel: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Je prends contact au sujet de ce genre de problème uniquement pour aider les exploitants à sécuriser leurs sites. Si vous préférez ne plus être contacté, dites-le-moi simplement et je le respecterai.
Références
Avis officiels et suivi
Éditeur / extension