"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

Versión de seguridad VirtueMart 3.8.6 Cierre de una vulnerabilidad XSS

Publicado: 06 noviembre 2020

4N_CURZE (https://www.openbugbounty.org/researchers/4N_CURZE/) encontró un nuevo XSS. Tomó un tiempo reproducirlo, porque fue causado por el menú desplegable del fabricante, que no siempre está activado. El problema en sí fue fácil de solucionar, aunque el valor se incluyó en la lista blanca en todas partes, faltaba en la lista desplegable del fabricante.

Desde la versión anterior, se agregaron algunas características. Se implementó el deseado sistema multicart. Multicart significa para una tienda de múltiples proveedores, que hay un carrito adicional para cada proveedor. Entonces, cuando un cliente compra productos de diferentes proveedores, necesita realizar un pago para cada proveedor. Este sistema es muy interesante para mercados reales, que ofrecen productos de diferentes proveedores.

Otra buena característica nueva son las restricciones de pago / envío mediante cupones. Esto se puede utilizar para ofrecer a los clientes otros métodos de pago por teléfono, como transferencia bancaria, por ejemplo. O puede usarse para campañas de marketing como "use este cupón para obtener envío gratis".

El complemento textinput ahora se puede usar para texto obligatorio, ya que hemos introducido una verificación de caracteres requerida. iStraxx aportó el toggleCartButton.js con licencia MIT para la verificación de caracteres requerida.

StAn of RuposTel ha proporcionado una revisión útil del sistema de recaptcha VirtueMart. Ahora funciona de acuerdo con los nuevos estándares de Joomla y funciona con cualquier complemento joomla captcha. Lea más sobre esto en docs.virtuemart.net

Multi vendedor:

Sistema MultiCart agregado
Módulo de carrito, enlace reemplazado al carrito contra botón, los enlaces antiguos deberían funcionar
Menú desplegable de proveedores para Categorías.
Se agregó la función de que los subvendedores pueden verificar los pedidos, pero solo si al menos un producto de ellos está en el pedido.

 

Funciones ampliadas

Restricción de envío / pago agregada por cupón
Se agregaron caracteres requeridos al complemento textinput
Se agregó orden de diseño para el complemento weight_countries, que se puede usar para anular la salida estándar
Se agregó una advertencia a vmconfig si los grupos de compradores sobrescriben la configuración de precios.
Vista y modelo de edición de productos, filtro agregado para publicado / no publicado, búsqueda agregada de productos en múltiples categorías

 

Idioma:

Se agregó la configuración de configuración de VM ReInjectJLanguage, que reemplaza el objeto Joomla JLanguage con VmLanguage
Actualización para el complemento del sistema VirtueMart, para varios idiomas, ya que puede ser útil cargar la configuración de VM siempre primero
Se reemplazó $ languages ​​= JLanguageHelper :: createLanguageList por $ JLanguages ​​= JHtml :: _ ('contentlanguage.existing')

 

Seguridad:

Fuga XSS corregida en el menú desplegable del fabricante
Revisión de Recaptcha por StAn de RuposTel

 

Pagos:

Opción de configuración de reembolso de PayPal para evitar que VM genere una solicitud de reembolso de PayPal
Pequeña mejora de paypal, inspirada en RuposTel y escrita por Quorvia

 

Desarrollo:

modelo de categoría agregó la función getChildCategoryListObjectByCachedOption que ahora es utilizada por getChildCategoryList y getChildCategoryListObjectByCachedOption
La función getSafePathFor ahora se puede usar para crear cualquier tipo de subcarpeta.
modelo personalizado, directTrigger para plgVmDeclarePluginParamsCustomVM3 y plgVmGetTablePluginParams función mejorada vmplugin.php declarePluginParams
Caché fijo del modelo de campo personalizado. Ahora cargamos siempre todos los atributos y los almacenamos en caché. y usamos directTrigger para plgVmDeclarePluginParamsCustomVM3
modelo de usuario, caché agregado
modelo de usuario, establezca la función "setId" en obsoleta. El uso de la identificación interna como puntero es inútil. La función getUser ahora debería llamarse con id, pero usa como respaldo la antigua construcción $ this -> _ id
modelo de campo de usuario agregado JPluginHelper :: importPlugin ('usuario'); a la función getUserFieldsFor
iStraxx agregó el toggleCartButton.js con licencia MIT, necesita las letras requeridas de entrada de texto.
Factura, el producto siempre se vuelve a cargar para crear el artículo.

 

Correcciones:

Pequeña corrección para cupones que usan el idioma correcto
Se corrigió que las reglas de cálculo no incluían el día final dado, porque las horas y los segundos no estaban configurados
Se agregó el registro de Vm Controller y View a massxref.php
vmTable advertencia si una clave de los parámetros se vacía accidentalmente
Se agregó _genericVendorId a vmtable y fallback.
tables / order_items.php agregó el muy importante $ this -> _ genericVendorId = false para arreglar virtuemart_vendor_id de los artículos del pedido.
Actualizaciones para el instalador completo de joomla
pequeña corrección para actualizaciones migración en caso de tienda de varios proveedores
pequeña solución para el tableupdater para evitar el aviso.
corrección importante para la vista de usuario de backend para garantizar que se carguen las direcciones correctas.
arreglos para que tcpdf funcione en versiones de php superiores
función fija updateCategory para los datos xref
información sobre herramientas fija en la configuración (la verificación de la clave lang existente ya no funcionaba de la manera anterior)
mail_raw_pricelist.php reemplazó $ item-> product_final_price por $ item-> product_subtotal_with_tax