En la plataforma abierta para la organización de comercio electrónico , que ocupa alrededor de del mercado de sistemas para crear tiendas en línea, vulnerabilidades, cuya combinación permite llevar a cabo un ataque para ejecutar su código en el servidor, obtener control total sobre la tienda en línea y realizar redirecciones de pagos. Las vulnerabilidades en las versiones de Magento 2.3.2, 2.2.9 y 2.1.18, que en total solucionaron 75 problemas relacionados con la seguridad.
Uno de los problemas permite que un usuario no autenticado logre insertar código JavaScript (XSS), que puede ejecutarse al visualizar el registro de pedidos cancelados en la interfaz de administración. La esencia de la vulnerabilidad radica en la posibilidad de eludir la operación de limpieza de texto mediante la función escapeHtmlWithLinks() al procesar una anotación en el formulario de cancelación en la pantalla de inicio de la compra (utilizando una etiqueta anidada). El problema se presenta al utilizar el módulo integrado Authorize.Net, que se utiliza para recibir pagos con tarjeta de crédito.
Para obtener control total mediante código JavaScript en el contexto de la sesión actual del empleado de la tienda, se explota una segunda vulnerabilidad que permite cargar un archivo phar disfrazado de imagen ( «Deserialización de Phar»). Un archivo phar puede ser cargado a través del formulario de inserción de imágenes en el editor WYSIWYG integrado. Una vez que el atacante logra ejecutar su código PHP, puede cambiar los detalles de pago o interceptar información sobre las tarjetas de crédito de los compradores.
Es interesante que la información sobre el problema XSS fue enviada a los desarrolladores de Magento ya en septiembre de 2018, tras lo cual a finales de noviembre se lanzó un parche que resultó solucionar solo uno de los casos específicos y que se eludía fácilmente. En enero se informó adicionalmente acerca de la posibilidad de cargar un archivo Phar disfrazado de imagen y se mostró cómo la combinación de dos vulnerabilidades puede ser utilizada para comprometer las tiendas en línea. A finales de marzo, en Magento 2.3.1,
2.2.8 y 2.1.17, se resolvió el problema de los archivos Phar, pero se olvidó la corrección del XSS, aunque el ticket sobre el problema fue cerrado. En abril, la revisión del XSS se reanudó y el problema fue solucionado en las versiones 2.3.2, 2.2.9 y 2.1.18.
Cabe destacar que en las versiones mencionadas también se han corregido 75 vulnerabilidades, de las cuales 16 tienen un nivel de gravedad considerado crítico, y 20 problemas podrían permitir la ejecución de código PHP o la inyección de operaciones SQL. La mayoría de los problemas críticos solo pueden ser explotados por un usuario autenticado, pero como se ha demostrado anteriormente, realizar operaciones autenticadas no es difícil de lograr mediante vulnerabilidades XSS, de las cuales se han corregido varias decenas en las versiones señaladas.
Fuente: opennet.ru
