Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la URL a la página de pago en sylius/paypal-plugin (CVE-2021-41120)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
05/10/2021
Última modificación:
12/08/2022

Descripción

sylius/paypal-plugin es un plugin de paypal para la plataforma de desarrollo Sylius. En las versiones afectadas la URL a la página de pago realizada tras el checkout es creada con el id de pago autoincrementado (/pay-with-paypal/{id}) y por tanto era fácil de predecir. El problema es que el formulario de la tarjeta de crédito ha rellenado previamente el campo "credit card holder" con el nombre y los apellidos del cliente y, por tanto, esto puede conllevar a una exposición de información personal identificable. Además, el mencionado formulario no requería autenticación. El problema ha sido parcheado en Sylius/PayPalPlugin versiones 1.2.4 y 1.3.1. Si los usuarios no pueden actualizar pueden anular una ruta sylius_paypal_plugin_pay_with_paypal_form y cambiar sus parámetros de URL a (por ejemplo) {orderToken}/{paymentId}, y luego anular el servicio SyliusPayPalPlugin\Controller\PayWithPayPalFormAction, para operar sobre el pago tomado del repositorio por estos 2 valores. También requeriría el uso de un método personalizado del repositorio. Además, se podría anular la plantilla @SyliusPayPalPlugin/payWithPaypal.html.twig, para añadir contingencias: ["SCA_ALWAYS"] en la llamada a la función hostedFields.submit(...) (línea 421). Luego tendría que ser manejado en el callback de la función

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:sylius:paypal:*:*:*:*:*:sylius:*:* 1.0.0 (incluyendo) 1.2.4 (excluyendo)
cpe:2.3:a:sylius:paypal:*:*:*:*:*:sylius:*:* 1.3.0 (incluyendo) 1.3.1 (excluyendo)