En una plataforma abierta para organizar el comercio electrónico
Un problema permite a un usuario no autenticado lograr una ubicación de JavaScript (XSS) que se puede ejecutar al ver el historial de compras canceladas en la interfaz de administración. La esencia de la vulnerabilidad es la capacidad de omitir la operación de limpieza de texto usando la función escapeHtmlWithLinks() al procesar una nota en el formulario de cancelación en la pantalla de pago (usando la etiqueta "a href=http://onmouseover=..." anidado en otra etiqueta). El problema se manifiesta cuando se utiliza el módulo Authorize.Net integrado, que se utiliza para aceptar pagos con tarjeta de crédito.
Para obtener control total utilizando el código JavaScript en el contexto de la sesión actual de un empleado de la tienda, se explota una segunda vulnerabilidad, que le permite cargar un archivo phar bajo la apariencia de una imagen (
Curiosamente, la información sobre el problema XSS se envió a los desarrolladores de Magento en septiembre de 2018, tras lo cual se lanzó un parche a finales de noviembre que, como resultó, elimina solo uno de los casos especiales y se puede eludir fácilmente. En enero, también se informó sobre la posibilidad de descargar un archivo Phar bajo la apariencia de una imagen y se mostró cómo una combinación de dos vulnerabilidades podría usarse para comprometer tiendas en línea. A finales de marzo en Magento 2.3.1,
2.2.8 y 2.1.17 solucionaron el problema con los archivos Phar, pero olvidaron la corrección XSS, aunque el ticket del problema se cerró. En abril, se reanudó el análisis XSS y el problema se solucionó en las versiones 2.3.2, 2.2.9 y 2.1.18.
Cabe señalar que estas versiones también corrigen 75 vulnerabilidades, 16 de las cuales están clasificadas como críticas, y 20 problemas pueden provocar la ejecución de código PHP o la sustitución de SQL. La mayoría de los problemas críticos solo los puede cometer un usuario autenticado, pero como se muestra arriba, las operaciones autenticadas se pueden lograr fácilmente utilizando vulnerabilidades XSS, de las cuales varias docenas han sido parcheadas en las versiones mencionadas.
Fuente: opennet.ru