Los investigadores de ciberseguridad de NIVEL4, Matías Schiappacasse y Mateo Contenla, identificaron una vulnerabilidad en el plugin Transbank Webpay Plus REST, el complemento oficial utilizado para integrar Webpay en sitios desarrollados con WordPress y WooCommerce.
De acuerdo con la ficha del repositorio oficial de WordPress.org, el plugin cuenta con más de 10.000 instalaciones activas, lo que hizo de este hallazgo un aspecto relevante para las organizaciones que utilizan esta integración para procesar pagos electrónicos.
El problema fue registrado oficialmente como CVE-2026-6858 con una puntuación de 7.1 sobre 10.0 (clasificada como Alta), y corresponde a una vulnerabilidad de Cross-Site Scripting almacenado (Stored XSS) no autenticado que afecta a todas las versiones del complemento hasta la 1.13.0, inclusive.
Detalle técnico del hallazgo
Según los especialistas, durante la investigación se determinó que el complemento exponía dos endpoints destinados a procesar devoluciones de pagos sin requerir autenticación, los cuales registraban los parámetros de las solicitudes entrantes en los archivos de registro antes de realizar cualquier proceso de validación.
Este comportamiento permitía a un atacante enviar una petición HTTP especialmente construida para ingresar código JavaScript arbitrario dentro del archivo de logs del plugin. Respecto a la ejecución, Matías Schiappacasse señaló que «el código malicioso no se ejecuta inmediatamente, sino que queda almacenado dentro del archivo de logs del plugin y posteriormente es presentado al administrador cuando consulta la sección de registros desde el panel de WordPress».
El problema ocurría porque la plantilla del visor de registros no aplicaba mecanismos de sanitización ni de escape antes de incorporar el contenido del archivo directamente en la respuesta HTML. En consecuencia, al visualizar los logs, el navegador del administrador interpretaba y ejecutaba automáticamente el código JavaScript almacenado.
Impacto comprobado: Exfiltración de credenciales
Los especialistas de NIVEL4 verificaron que, al ejecutarse en el contexto del navegador y con los privilegios de la sesión del administrador, este vector permitía exfiltrar información sensible almacenada por el complemento. Entre los datos cuya extracción fue confirmada se encuentran:
- Código de comercio de Transbank.
- API Key (llave secreta configurada para el comercio).
La exfiltración de estos elementos expone directamente información de carácter financiero de la organización afectada, ya que ambos datos actúan como las credenciales de autenticación para todas las operaciones contra la API de Webpay.
Escenario de mayor impacto potencial
Además de la exfiltración de credenciales, la investigación identificó un escenario potencial en el cual se confirmaba que el vector también permitía sobrescribir el código de comercio y la API Key por otros valores bajo control del atacante.
En teoría, la sobreescritura de estos valores podría derivar en un fraude financiero: si un actor de amenaza reemplaza el código de comercio y la API Key por los de un comercio bajo su propio control (previamente habilitado en Transbank), las transacciones generadas por los clientes del sitio afectado se procesarían con esas credenciales, lo que podría resultar en que los pagos se liquiden hacia la cuenta del atacante en lugar de la del comercio legítimo.
Este escenario es consistente con el funcionamiento documentado del código de comercio como identificador de la cuenta receptora de los pagos; sin embargo, los autores aclaran que esto no fue validado de extremo a extremo (es decir, no se confirmó empíricamente que una transacción real efectuada bajo credenciales sustituidas efectivamente se liquide en la cuenta del atacante), por lo que se presenta estrictamente como un escenario de impacto potencial y no como un hecho comprobado en su totalidad.
Reflexión y remediación
Uno de los aspectos que evidencia este análisis es que los archivos de registro también pueden convertirse en una superficie de ataque cuando almacenan información controlada por usuarios externos y posteriormente es visualizada desde interfaces administrativas. Si el contenido registrado no es correctamente sanitizado y escapado antes de ser mostrado, un mecanismo destinado al diagnóstico puede transformarse en un vector para ejecutar código dentro de sesiones con privilegios elevados.
Transbank ya implementó los parches correspondientes para la integración con todas las plataformas que utilizan el plugin, mitigando el problema a partir de la versión 1.14.0.
Aunque la reserva del CVE fue entregada en abril, la información completa con los detalles de la vulnerabilidad se hizo pública a finales de junio tras la disponibilidad de la corrección.


