Si vous avez reçu un e-mail de ma part vous renvoyant à cette page, c’est parce que votre site web semble utiliser une version vulnérable de Realtyna Organic IDX plugin + WPL Real Estate (l’extension WordPress real-estate-listing-realtyna-wpl, éditée par Realtyna). Vous la connaissez peut-être sous le nom de WPL ou d’extension Organic IDX. Cette page explique pourquoi cela compte et comment y remédier.

Cet avis concerne CVE-2026-13714, un téléversement de fichier arbitraire sans authentification menant à l’exécution de code à distance. En clair : une personne non connectée, qui n’a besoin ni de compte ni d’une configuration particulière sur votre site, peut écrire un fichier de script dans la zone de téléversement de votre site puis l’exécuter. Cela équivaut au contrôle total du code côté serveur. Les versions 4.0.0 à 5.2.0 sont concernées et le correctif se trouve dans la 5.3.0, publiée le 30 juin 2026. Les versions antérieures à 4.0.0 ne contiennent pas cette faille. Si vous utilisez une version concernée, mettez l’extension à jour en 5.3.0 ou ultérieure dès que possible, puis lisez Si vous utilisiez une version concernée.

Il s’agit d’une faille de l’extension, pas du cœur de WordPress. Un WordPress parfaitement à jour ne vous protège pas si cette extension elle-même est dans une version concernée.

Ce message est-il légitime ?

Oui. Il s’agit d’un avis de bonne foi, relevant de la divulgation responsable, é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 pénétrer, d’y téléverser quoi que ce soit ou d’exploiter quoi que ce soit.

Je me suis contenté de regarder des fichiers publiquement visibles que votre site sert à tout visiteur (aussi publics que votre page d’accueil) et de relever le numéro de version que l’extension publie dans son fichier public readme.txt. En particulier, je n’ai rien envoyé à l’interface de téléversement concernée. Rien n’a été téléversé, testé ni exploité, et cette vérification ne touche ni vos données, ni votre zone d’administration, ni aucune partie privée de votre site.

Si vous souhaitez vérifier qui je suis, consultez les coordonnées en bas de cette page ainsi que la page À propos.

Pourquoi c’est important

L’extension embarque une interface d’E/S « application mobile », c’est-à-dire un ensemble de commandes qu’un client externe peut appeler via le web. L’une de ces commandes enregistre un fichier téléversé sous le nom choisi par l’expéditeur, sans aucune vérification du type de fichier. Un fichier portant une extension de script atterrit donc comme script dans la zone de téléversement du site, où il peut être demandé via le web et exécuté par le serveur.

Deux éléments empêchent que cela reste un problème théorique :

  • L’interface est active dans une installation par défaut. Aucun réglage n’a besoin d’être activé et aucune fonctionnalité n’a besoin d’être utilisée pour que le point d’accès réponde.
  • La paire de clés censée authentifier les appels est initialisée à la même valeur fixe dans chaque installation de l’extension, et l’interface d’administration la marque en lecture seule, de sorte qu’un exploitant ne pourrait pas la changer même s’il le voulait. Un secret identique partout et public dans le code source n’est pas un secret : la barrière n’en est donc pas une.

Au total, un visiteur non authentifié peut déposer du code exécutable sur le serveur. Or, dès que du code s’exécute sur votre serveur, il peut faire tout ce que votre site peut faire : lire la base de données, créer des comptes administrateur, modifier ou remplacer des pages, envoyer du courrier depuis votre domaine ou installer une porte dérobée persistante.

Je ne publie volontairement ni le format de la requête, ni les noms des paramètres, ni un exemple fonctionnel, et je vous demanderais d’en faire autant. La description ci-dessus donne la forme du problème, ce qui est ce dont vous avez besoin pour juger de l’urgence.

Aucun score de gravité CVSS n’a été publié pour ce problème par l’autorité d’attribution, cette page n’en cite donc aucun. Le problème ne figure pas au catalogue des vulnérabilités activement exploitées (KEV) de la CISA, et je n’ai aucune preuve qu’il soit exploité dans la nature ni qu’un site particulier ait été attaqué par ce biais. Ce qui peut être dit clairement, c’est ce que la faille permet : sans authentification, sans configuration nécessaire, et se terminant par l’exécution de code.

Une dernière chose mérite d’être connue, car elle fait passer la mise à jour pour facultative alors qu’elle ne l’est pas : le journal des modifications de l’éditeur pour la 5.3.0 ne mentionne pas la sécurité. Il indique « Removed deprecated mobile_application ». Cette entrée est le correctif : le sous-système vulnérable a été purement et simplement supprimé. Qui parcourt les notes de version à la recherche d’un avis de sécurité n’en trouvera pas.

La bonne nouvelle : passer à la version corrigée referme la brèche, et la mise à jour est simple.

Suis-je concerné ?

Vous n’êtes pas obligé de me croire sur parole quant à la version que vous utilisez.

Depuis la zone d’administration WordPress (c’est la vérification qui fait foi) :

  1. Connectez-vous à votre tableau de bord WordPress (en général sur yourdomain.com/wp-admin).
  2. Allez dans Extensions puis Extensions installées.
  3. Repérez Realtyna Organic IDX plugin + WPL Real Estate et notez la version affichée sous son nom.

Depuis le manifeste public (sans connexion) : ouvrez yourdomain.com/wp-content/plugins/real-estate-listing-realtyna-wpl/readme.txt dans un navigateur. La ligne Stable tag: en haut du fichier donne la version que votre installation déclare. Ce fichier est livré dans le dossier de l’extension, il reflète donc ce qui est réellement installé, et c’est le même fichier public que j’ai lu.

Appliquez ensuite cette règle :

  • 4.0.0 à 5.2.0 : concerné, mettez à jour maintenant.
  • 5.3.0 ou ultérieure : déjà corrigé, rien à faire pour ce problème.
  • Antérieure à 4.0.0 : non concernée par ce problème. Le code de téléversement non validé n’existe pas dans ces versions. Des publications décrivent la plage concernée comme « toutes les versions antérieures à 5.3.0 » ; c’est inexact, et si vous êtes en 3.x, vous n’avez aucune raison de traiter cela comme une urgence. Il s’agit tout de même d’une version très ancienne, donc mettre à jour reste judicieux pour d’autres raisons.

Ne lisez pas la version dans l’URL d’une ressource. Si vous regardez le code source de votre page et voyez quelque chose comme realtyna.min.js?ver=5.2.21, ce numéro n’est pas la version de l’extension. Cette extension ne transmet pas sa propre version à WordPress lorsqu’elle enregistre ses feuilles de style et ses scripts, si bien que WordPress y met la version du cœur de WordPress de votre site. Nous avons vu des sites réels en version 4.3.2 de l’extension servir un ?ver= de 4.9.9, et des sites afficher 5.2.21, qui est un numéro de version du cœur de WordPress ressemblant précisément à une version de l’extension juste sous la limite de 5.3.0. Le lire comme la version de l’extension peut vous indiquer l’inverse de la vérité. Utilisez wp-admin, ou readme.txt.

Comment corriger

La voie la plus sûre est de mettre à jour via WordPress lui-même, après une sauvegarde :

  1. 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.
  2. Dans l’administration WordPress, allez dans Tableau de bord puis Mises à jour, ou Extensions puis Extensions installées. Si une mise à jour de l’extension est proposée, installez-la depuis là.
  3. Si vous préférez la ligne de commande, WP-CLI fait la même chose : wp plugin update real-estate-listing-realtyna-wpl.
  4. Si aucune mise à jour n’apparaît, vous pouvez récupérer la dernière version directement sur la page de l’extension dans le répertoire WordPress.org, Realtyna Organic IDX plugin + WPL Real Estate, et mettre à jour via Extensions, puis Ajouter une extension, puis Téléverser une extension.
  5. Après la mise à jour, vérifiez le nouveau numéro de version (5.3.0 ou ultérieure) avec les étapes ci-dessus et contrôlez que votre site se charge normalement.

Si vous ne pouvez vraiment pas mettre à jour tout de suite, la mesure provisoire consiste à désactiver l’interface d’E/S de l’extension dans ses propres réglages, ce qui ferme la route menant à la commande de téléversement. Considérez cela comme un palliatif qui vous fait gagner du temps, pas comme un substitut à la mise à jour : seule la 5.3.0 supprime le code vulnérable.

Tant que vous y êtes, il est utile de vérifier que le cœur de WordPress et vos autres extensions sont à jour, car le même principe vaut pour eux.

Si vous utilisiez une version concernée

Parce que ce problème permet de téléverser un fichier puis de l’exécuter, la mise à jour referme la brèche mais n’annule pas ce qui a pu être fait auparavant par ce biais. Si votre site utilisait une version concernée alors qu’il était accessible depuis internet, une vérification s’impose. Vous (ou votre webmestre) devriez examiner sur votre propre site :

  • Les fichiers de script indésirables dans la zone de téléversement. Cherchez sous wp-content/uploads/ des fichiers en .php (ou d’autres extensions exécutables) au milieu des photos et documents des biens. Les téléversements légitimes d’une annonce immobilière sont des images, des PDF et assimilés ; un fichier .php parmi eux n’est pas normal.
  • Les fichiers aux horodatages récents ou étranges. Triez par date de modification et repérez tout ce que vous ne pouvez pas expliquer, y compris dans les dossiers de téléversement propres à l’extension.
  • Vos comptes administrateur. Dans Comptes puis Tous les comptes, filtrez sur Administrateur et supprimez tout compte que vous ne reconnaissez pas. Ajouter un nouveau compte administrateur est une manière courante de conserver un accès.
  • Les extensions et thèmes récemment installés ou modifiés. Cherchez tout ce que vous n’avez pas installé vous-même, et les extensions aux noms génériques ou inconnus : une extension ou un thème pirate est une manière courante de poser une porte dérobée.
  • Les autres signes. Contenus ou pages inattendus, changements de l’adresse e-mail d’administration ou des réglages d’URL du site, tâches planifiées inconnues, plaintes pour spam sortant : tout cela mérite d’être examiné.

Si vous trouvez des preuves d’accès non autorisé, traitez le site comme compromis : supprimez les fichiers, changez vos identifiants (administration WordPress, base de données et panneau d’hébergement) et envisagez de restaurer une sauvegarde saine antérieure à l’intrusion. Si votre organisation dispose d’une équipe sécurité, associez-la.

Je veux être clair : je n’ai pas vérifié ces indices sur votre site et je ne sais pas si votre site a été touché. Cette liste est là pour que vous puissiez vérifier vous-même. Un site dans la plage de versions concernée peut aussi être déjà protégé autrement (pare-feu applicatif, correctif rétroporté par l’hébergeur, ou interface d’E/S désactivée) ; cet avis est une observation fondée sur la version, pas une affirmation que votre site était exploitable au moment où je l’ai regardé.

Ce que j’ai fait et ce que je n’ai pas fait

  • J’ai lu le readme.txt public de l’extension et votre page d’accueil, que votre site sert tous deux à n’importe quel visiteur.
  • Je n’ai pas accédé à votre zone d’administration WordPress, à votre base de données ni à aucune partie privée de votre site.
  • Je n’ai rien envoyé à l’interface de téléversement concernée. Rien n’a été téléversé, rien n’a été testé ni exploité. Quand la faille est elle-même un point de téléversement ouvert, ne pas y toucher fait toute la différence entre une divulgation et une intrusion.
  • Le constat est donc une observation fondée sur la version, et vous pouvez le reproduire vous-même à partir du même fichier public.

Je n’ai pas de webmestre / je suis bloqué

Si vous n’êtes pas la personne qui gère le site, merci de transmettre cette page à qui s’en occupe (votre développeur web, votre agence ou votre hébergeur). Ces personnes reconnaîtront rapidement les étapes ci-dessus.

Si vous gérez le site vous-même et que vous êtes bloqué, je vous aiderai volontiers à vous orienter, gratuitement. Écrivez-moi via les coordonnées ci-dessous.

Contact

Evan Harris, chercheur en sécurité

Je prends contact au sujet de problèmes de ce type uniquement pour aider les exploitants à sécuriser leur site. Si vous préférez ne plus être contacté, dites-le-moi et je le respecterai.

Références

Avis officiels et suivi

Éditeur / extension