Aviso de seguridad de Wallet System for WooCommerce
Si recibió un correo electrónico mío que le remite a esta página, es porque su sitio web
parece estar ejecutando una versión vulnerable de Wallet System for WooCommerce (el
plugin de WordPress wallet-system-for-woocommerce, de WP Swings). Esta página explica por
qué importa y cómo corregirlo.
Este aviso se refiere a CVE-2026-42654, un fallo de gravedad alta (CVSS 7.1) en el flujo de cuentas y recuperación de contraseñas del plugin que podría permitir a una solicitud no autorizada obtener acceso a una cuenta de cliente. Afecta a todas las versiones anteriores a 2.7.6 y está corregido en 2.7.6. Si está ejecutando una versión afectada, actualice Wallet System for WooCommerce a 2.7.6 o posterior (se recomienda la última versión, 2.7.8).
Una palabra sobre la urgencia, porque es distinta de la de otros avisos que he enviado: se trata de un fallo de acceso a cuentas, no de una toma de control del servidor ni de una cuenta de administrador, y no hay indicios de que se esté explotando. Esta página es un aviso preventivo, no un informe de incidente. Actualizar cierra el problema, y este aviso no implica ninguna respuesta de emergencia.
Este es un fallo de un plugin, no un fallo del núcleo de WordPress ni de WooCommerce. Un WordPress y un WooCommerce totalmente actualizados no le protegen si el propio plugin Wallet System for WooCommerce está en una versión afectada.
¿Es legítimo este mensaje?
Sí. Se trata de un aviso de buena fe, según el principio de la divulgación responsable, de un investigador de seguridad independiente. No le pido dinero, 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 visibles públicamente que su sitio web ofrece a cada
visitante (del mismo modo que su página de inicio es pública) y anotar el número de versión
que el plugin Wallet System for WooCommerce publica en su archivo README.txt público. En
concreto, no toqué el punto de acceso vulnerable, y nada en esta comprobación toca sus
datos, su área de administración ni ninguna parte privada de su sitio (hay más detalle en
Qué hice y qué no hice más abajo).
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é importa
Wallet System for WooCommerce es un complemento de WooCommerce (alrededor de 2.000 instalaciones activas) que permite a una tienda ofrecer a sus clientes un monedero digital: los clientes mantienen un saldo, lo recargan y pagan con él al finalizar la compra. En las versiones afectadas, las acciones privilegiadas del monedero en el flujo de cuentas y recuperación de contraseñas del plugin estaban protegidas por un token de seguridad compartido que el plugin entregaba a cada visitante, en lugar de por una comprobación real de permisos ligada a quién realiza la solicitud. Esta clase de error se denomina elusión de autenticación mediante una ruta o canal alternativo (CWE-288): la ruta de inicio de sesión normal comprueba la identidad correctamente, pero una ruta lateral acepta el token compartido como si demostrara autorización.
El efecto práctico es que una solicitud que llega por esa ruta lateral, accesible para cualquier cliente registrado (y una tienda que ofrece un monedero a sus clientes casi siempre permite el registro abierto), podría actuar como un usuario autorizado y obtener acceso a una cuenta de cliente.
El fallo recibió una puntuación de 7,1 sobre 10 (gravedad alta). Para mantener la perspectiva: es un problema de acceso a cuentas, no entrega por sí solo a un atacante su servidor ni una cuenta de administrador, y no hay indicios de explotación activa (no figura en el catálogo de vulnerabilidades explotadas conocidas de CISA, y no tengo constancia de informes de explotación). Si mi correo citaba este problema, significa que la versión que informa su sitio cae dentro del rango afectado. No he probado si su sitio concreto es explotable, solo que informa de una versión afectada.
La buena noticia: actualizar a la versión corregida cierra el problema, y la actualización es sencilla.
Cómo comprobar su versión
No tiene que creer en mi palabra sobre qué versión está ejecutando.
Desde el manifiesto público (sin necesidad de iniciar sesión): abra
yourdomain.com/wp-content/plugins/wallet-system-for-woocommerce/README.txt en un
navegador. Tenga en cuenta que este plugin distribuye su readme como README.txt (en
mayúsculas), a diferencia de muchos plugins que usan un readme.txt en minúsculas. La
línea Stable tag: cerca de la parte superior es la versión que informa su
instalación, y este es el mismo archivo público que leí.
Desde el área de administración de WordPress (si tiene acceso):
- Inicie sesión en su panel de WordPress (normalmente en
yourdomain.com/wp-admin). - Vaya a Plugins luego Plugins instalados.
- Busque Wallet System for WooCommerce y anote la versión que se muestra bajo su nombre.
Después aplique esta regla, y tenga en cuenta que las versiones se comparan de forma numérica, no alfabética:
- Cualquier versión anterior a 2.7.6: afectada, actualice ahora. Todas las versiones anteriores contienen el fallo; no existe una versión antigua segura.
- 2.7.6 o más reciente, incluidas 2.7.7 y 2.7.8: ya corregida.
- No se deje engañar por el orden del texto:
2.5.11es una versión posterior a2.5.9, porque 11 es mayor que 9. Compare cada número por separado en lugar de leer la versión como texto (ambos ejemplos están por debajo de 2.7.6 y por tanto afectados; la cuestión es cómo se leen los números de versión en general).
Cómo actualizar
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 realizar cambios. La mayoría de los proveedores de alojamiento ofrecen copias de seguridad con un solo clic, o use un plugin de copia de seguridad de WordPress.
- En la administración de WordPress, vaya a Escritorio luego Actualizaciones, o Plugins luego Plugins instalados. Si aparece una actualización de Wallet System for WooCommerce, instálela desde aquí.
- Si prefiere la línea de comandos, WP-CLI hace lo mismo:
wp plugin update wallet-system-for-woocommerce. - 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, Wallet System for WooCommerce, y actualizar mediante Plugins luego Añadir nuevo plugin luego Subir plugin.
- Después de actualizar, confirme el nuevo número de versión (2.7.6 o posterior; se recomienda la última, 2.7.8) con los pasos anteriores, y compruebe que su tienda y sus funciones de monedero funcionan con normalidad.
Ya que está en ello, conviene confirmar que el núcleo de WordPress, WooCommerce y sus demás plugins están actualizados, ya que el mismo principio se aplica a todos ellos.
Después de actualizar
Actualizar a 2.7.6 o posterior cierra el problema, y para la mayoría de las tiendas esa es toda la tarea. No hay indicios de que este fallo se haya explotado, así que no se requiere una respuesta de emergencia: no necesita tratar su sitio como comprometido, ponerlo fuera de línea ni forzar restablecimientos de contraseña.
Dado que el fallo podría permitir a una solicitud no autorizada actuar sobre una cuenta de cliente, sí resulta sensato un seguimiento rutinario: eche un vistazo a la actividad reciente de cuentas y monederos en busca de algo que no le resulte familiar, por ejemplo ajustes de saldo de monedero que usted no hizo, solicitudes de retirada o de fondos que no reconozca, o cambios en cuentas de clientes que sus clientes no solicitaron. Trátelo como el mantenimiento ordinario que una tienda realiza periódicamente, no como una respuesta a incidentes. Si algo parece incorrecto, se aplican los pasos habituales (restablezca la contraseña de ese cliente y revise la actividad con esa persona), y puede escribirme con cualquier pregunta.
Qué hice y qué no hice
Para ser totalmente transparente sobre la comprobación que hay detrás de mi correo: solo
leí archivos públicos que su sitio ya ofrece a cada visitante, en concreto el archivo
README.txt público del plugin y su página de inicio. No accedí a su área de
administración de WordPress, a su base de datos ni a ninguna parte privada del sitio. En
particular, no toqué el punto de acceso vulnerable, y no probé ni exploté nada.
Se trata de una observación basada en la versión: su sitio informa de una versión dentro del rango afectado. Un sitio en ese rango puede estar ya protegido por otros medios (por ejemplo un cortafuegos de aplicaciones web, o una corrección retroaplicada), así que este aviso no es una afirmación de que su sitio fuera explotable en el momento en que lo comprobé.
No tengo webmaster / estoy atascado
Si usted no es la persona que 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 con rapidez.
Si mantiene el sitio usted mismo y se atasca, con gusto le ayudo a orientarse en la dirección correcta sin coste alguno. Póngase en contacto usando los datos de abajo.
Contacto
Evan Harris, investigador de seguridad
- Correo electrónico: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Me pongo en contacto por problemas como este únicamente para ayudar a los operadores a asegurar sus sitios. Si prefiere que no se le vuelva a contactar, simplemente dígamelo y lo respetaré.
Referencias
Avisos oficiales y seguimiento
Proveedor / plugin