Aviso de seguridad de Realtyna WPL
Si ha recibido un correo mío que le remite a esta página, es porque su sitio web parece
estar ejecutando una versión vulnerable de Realtyna Organic IDX plugin + WPL Real Estate
(el plugin de WordPress real-estate-listing-realtyna-wpl, de Realtyna). Puede que lo
conozca como WPL o como el plugin Organic IDX. Esta página explica por qué importa y
cómo solucionarlo.
Este aviso se refiere a CVE-2026-13714, una subida arbitraria de archivos sin autenticación que conduce a la ejecución remota de código. Dicho llanamente: alguien que no ha iniciado sesión, que no necesita cuenta alguna ni ninguna configuración especial en su sitio, puede escribir un archivo de script en el área de subidas de su sitio y luego ejecutarlo. Eso equivale al control total del código del lado del servidor. Afecta a las versiones 4.0.0 a 5.2.0 y está corregido en 5.3.0, publicada el 30 de junio de 2026. Las versiones anteriores a 4.0.0 no contienen este fallo. Si utiliza una versión afectada, actualice el plugin a 5.3.0 o posterior cuanto antes y lea después Si estaba utilizando una versión afectada.
Se trata de un fallo del plugin, no del núcleo de WordPress. Un WordPress completamente actualizado no le protege si este plugin está en una versión afectada.
¿Es legítimo este mensaje?
Sí. Es un aviso de buena fe, de divulgación responsable, de un investigador de seguridad independiente. No le pido dinero, ni contraseñas, ni acceso a su sitio, y no he intentado entrar en él, subir nada ni explotar nada.
Lo único que hice fue mirar archivos públicamente visibles que su sitio sirve a cualquier
visitante (igual de públicos que su página de inicio) y anotar el número de versión que el
plugin publica en su archivo público readme.txt. En particular, no envié nada a la
interfaz de subida afectada. No se subió, probó ni explotó nada, y esta comprobación no toca
sus datos, su área de administración ni ninguna parte privada de su sitio.
Si desea verificar quién soy, consulte los datos de contacto al final de esta página y la página Acerca de.
Por qué esto importa
El plugin incluye una interfaz de E/S de “aplicación móvil”, un conjunto de comandos que un cliente externo puede invocar a través de la web. Uno de esos comandos guarda un archivo subido con el nombre que eligió quien lo sube, sin ninguna comprobación del tipo de archivo. Por tanto, un archivo con una extensión de script aterriza como script en el área de subidas del sitio, donde puede solicitarse por la web y el servidor lo ejecuta.
Dos circunstancias impiden que esto sea un problema teórico:
- La interfaz está activada en una instalación por defecto. No hace falta habilitar ningún ajuste ni utilizar ninguna función para que el punto de acceso responda.
- El par de claves que se supone que autentica las llamadas está inicializado con el mismo valor fijo en todas las instalaciones del plugin, y la interfaz de administración lo marca como de solo lectura, de modo que un operador no podría cambiarlo aunque quisiera. Un secreto idéntico en todas partes y público en el código fuente no es un secreto, así que la puerta no es realmente una puerta.
En conjunto, eso significa que un visitante sin autenticar puede colocar código ejecutable en el servidor. Y en cuanto se ejecuta código en su servidor, puede hacer todo lo que su sitio puede hacer: leer la base de datos, crear cuentas de administrador, modificar o sustituir páginas, enviar correo desde su dominio o instalar una puerta trasera persistente.
Deliberadamente no publico el formato de la petición, los nombres de los parámetros ni un ejemplo funcional, y le pediría que usted tampoco lo haga. La descripción anterior es la forma del problema, que es lo que necesita para decidir con qué urgencia actuar.
La autoridad que asignó el identificador no ha publicado una puntuación CVSS para este problema, así que esta página no cita ninguna. El problema no figura en el catálogo de vulnerabilidades explotadas conocidas (KEV) de CISA, y no tengo pruebas de que se esté explotando de forma real ni de que se haya atacado ningún sitio concreto a través de él. Lo que sí puede afirmarse con claridad es lo que permite el fallo: sin autenticación, sin configuración necesaria y terminando en ejecución de código.
Hay algo más que conviene saber, porque hace que la actualización parezca opcional cuando no lo es: el registro de cambios del fabricante para 5.3.0 no menciona la seguridad. Dice “Removed deprecated mobile_application”. Esa entrada es la corrección: el subsistema vulnerable se eliminó por completo. Quien revise las notas de la versión buscando un aviso de seguridad no lo encontrará.
La buena noticia: actualizar a la versión corregida cierra el agujero, y la actualización es sencilla.
¿Estoy afectado?
No tiene que fiarse de mi palabra sobre qué versión utiliza.
Desde el área de administración de WordPress (esta es la comprobación autorizada):
- Inicie sesión en su escritorio de WordPress (normalmente en
yourdomain.com/wp-admin). - Vaya a Plugins y luego a Plugins instalados.
- Busque Realtyna Organic IDX plugin + WPL Real Estate y anote la versión que aparece bajo su nombre.
Desde el manifiesto público (sin necesidad de iniciar sesión): abra
yourdomain.com/wp-content/plugins/real-estate-listing-realtyna-wpl/readme.txt en un
navegador. La línea Stable tag: cerca del principio es la versión que declara su
instalación. Ese archivo viaja dentro de la carpeta del plugin, así que refleja lo que
realmente está instalado, y es el mismo archivo público que yo leí.
Después aplique esta regla:
- 4.0.0 a 5.2.0: afectado, actualice ya.
- 5.3.0 o posterior: ya corregido, no hay nada que hacer por este problema.
- Anterior a 4.0.0: no afectado por este problema. El código de subida sin validar no existe en esas versiones. Algunas publicaciones describen el rango afectado como “todas las versiones anteriores a 5.3.0”; eso no es correcto, y si está en una versión 3.x no tiene motivo para tratar esto como una emergencia. Aun así es una versión muy antigua, por lo que actualizar sigue siendo razonable por otras razones.
No lea la versión en la URL de un recurso. Si mira el código fuente de su página y ve
algo como realtyna.min.js?ver=5.2.21, ese número no es la versión del plugin. Este
plugin no le pasa a WordPress su propia versión al registrar sus hojas de estilo y scripts,
de modo que WordPress pone en su lugar la versión del núcleo de WordPress de su sitio.
Hemos visto sitios reales con el plugin 4.3.2 sirviendo un ?ver= de 4.9.9, y sitios que
estampan 5.2.21, que es un número de versión del núcleo de WordPress que resulta parecerse
exactamente a una versión del plugin justo por debajo del límite de 5.3.0. Leerlo como la
versión del plugin puede indicarle lo contrario de la verdad. Use wp-admin o readme.txt.
Cómo solucionarlo
La vía más segura es actualizar a través del propio WordPress, y hacer antes una copia de seguridad:
- Haga una copia de seguridad de su sitio (archivos y base de datos) antes de hacer cambios. La mayoría de los proveedores de alojamiento ofrecen copias con un clic, o puede usar un plugin de copias de seguridad de WordPress.
- En la administración de WordPress, vaya a Escritorio y luego Actualizaciones, o a Plugins y luego Plugins instalados. Si aparece una actualización del plugin, instálela desde ahí.
- Si prefiere la línea de comandos, WP-CLI hace lo mismo:
wp plugin update real-estate-listing-realtyna-wpl. - Si no aparece ninguna actualización, puede obtener la última versión directamente desde la página del plugin en el directorio de WordPress.org, Realtyna Organic IDX plugin + WPL Real Estate, y actualizar mediante Plugins, luego Añadir nuevo plugin, luego Subir plugin.
- Tras actualizar, confirme el nuevo número de versión (5.3.0 o posterior) con los pasos anteriores y compruebe que su sitio carga con normalidad.
Si realmente no puede actualizar de inmediato, la medida provisional es desactivar la interfaz de E/S del plugin en sus propios ajustes, lo que cierra la vía hacia el comando de subida. Considérelo un remedio temporal que le da tiempo, no un sustituto de la actualización: solo 5.3.0 elimina el código vulnerable.
Ya que está ahí, merece la pena confirmar que el núcleo de WordPress y sus demás plugins están al día, porque el mismo principio se aplica a todos ellos.
Si estaba utilizando una versión afectada
Como este problema permite subir un archivo y luego ejecutarlo, actualizar cierra el agujero pero no deshace nada de lo que ya se haya podido hacer a través de él. Si su sitio estuvo ejecutando una versión afectada mientras era accesible desde internet, conviene comprobarlo. Usted (o su webmaster) debería revisar en su propio sitio:
- Archivos de script en el área de subidas que no deberían estar ahí. Busque en
wp-content/uploads/archivos con extensión.php(u otras extensiones ejecutables) entre las imágenes y documentos de las propiedades. Las subidas legítimas de un anuncio inmobiliario son imágenes, PDF y similares; un archivo.phpentre ellos no es normal. - Archivos con fechas recientes o extrañas. Ordene por fecha de modificación y busque cualquier cosa que no pueda explicar, incluidas las carpetas de subida del propio plugin.
- Sus cuentas de administrador. En Usuarios y luego Todos los usuarios, filtre por Administrador y elimine cualquier cuenta que no reconozca. Añadir un nuevo usuario administrador es una forma habitual de mantener el acceso.
- Plugins y temas instalados o modificados recientemente. Busque cualquier cosa que no haya instalado usted y plugins con nombres genéricos o desconocidos, ya que un plugin o tema fraudulento es una forma habitual de dejar una puerta trasera.
- Otras señales. Contenido o páginas nuevas inesperadas, cambios en el correo de administración o en los ajustes de URL del sitio, tareas programadas desconocidas o quejas por spam saliente merecen investigarse.
Si encuentra indicios de acceso no autorizado, trate el sitio como comprometido: elimine los archivos, cambie sus credenciales (administración de WordPress, base de datos y panel de alojamiento) y valore restaurar una copia de seguridad fiable anterior a la intrusión. Si su organización tiene un equipo de seguridad informática, involúcrelo.
Quiero dejarlo claro: no he comprobado ninguno de estos indicios en su sitio y no sé si su sitio se vio afectado. Esta lista está aquí para que pueda comprobarlo usted mismo. Un sitio dentro del rango de versiones afectadas también puede estar ya protegido por otros medios (un cortafuegos de aplicaciones web, una corrección retroportada por el alojamiento o la interfaz de E/S desactivada); este aviso es una observación basada en la versión, no una afirmación de que su sitio fuera explotable cuando lo miré.
Lo que hice y lo que no hice
- Leí el
readme.txtpúblico del plugin y su página de inicio, que su sitio sirve a cualquier visitante. - No accedí a su área de administración de WordPress, a su base de datos ni a ninguna parte privada de su sitio.
- No envié nada a la interfaz de subida afectada. No se subió nada, y nada se probó ni se explotó. Cuando el fallo es en sí mismo un punto de subida abierto, no tocarlo es toda la diferencia entre una divulgación y una intrusión.
- El hallazgo es, por tanto, una observación basada en la versión, y es reproducible por usted a partir del mismo archivo público.
No tengo webmaster / estoy atascado
Si usted no es quien mantiene el sitio, reenvíe esta página a quien lo haga (su desarrollador web, agencia o proveedor de alojamiento). Reconocerán los pasos anteriores enseguida.
Si mantiene el sitio usted mismo y se atasca, con gusto le orientaré sin coste alguno. Escríbame usando los datos de contacto de abajo.
Contacto
Evan Harris, investigador de seguridad
- Correo: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Me pongo en contacto por asuntos como este únicamente para ayudar a los operadores a asegurar sus sitios. Si prefiere no volver a recibir mensajes míos, dígamelo y lo respetaré.
Referencias
Avisos oficiales y seguimiento
Fabricante / plugin