Hackear el sitio de WooCommerce para obtener detalles de pedidos e información del cliente

La topografía ciberespacio esta en constante cambio y siempre da como resultado la introducción de nuevas fallas y vulnerabilidades de seguridad. Se descubrió una vulnerabilidad importante, que ahora se conoce como CVE-2023-34000 y tiene una puntuación CVSS de 7,5, en el complemento WooCommerce Stripe Gateway, lo que provocó un llamado urgente a la acción tanto para los administradores del sitio como para los especialistas en seguridad. Este complemento, que fue creado por WooCommerce y actualmente se usa en más de 900 000 instalaciones activas, es bien conocido por sus capacidades eficientes para aceptar pagos directamente en negocios en línea y móviles. Los clientes pueden finalizar sus compras sin tener que abandonar el entorno de la tienda en línea gracias a una característica inherente de este complemento. Esto elimina la necesidad de una página de pago alojada externamente.

Sin embargo, una vulnerabilidad de referencia de objeto directo inseguro no autenticado (IDOR) se encuentra detrás de la funcionalidad superficial del complemento. Esta vulnerabilidad, en su condición sin parches, le da a un usuario no autenticado el potencial de obtener información de identificación personal (PII) extremadamente sensible que está asociada con cualquier orden de WooCommerce. Estos datos pueden contener información confidencial, como el nombre completo, la dirección de correo electrónico y la dirección de residencia de un usuario en su forma expuesta.

Seguir el rastro de migas de pan de este agujero de seguridad conduce a la función ‘javascript_params’ que se encuentra dentro del complemento. La variable ‘order_id’ es utilizada por el código incluido dentro de este método para obtener un objeto de pedido. Esta variable se deriva de los parámetros de consulta y, a continuación, recopila información específica del objeto del pedido, como direcciones y detalles completos del usuario. Dentro de este método, hay una falta notable de controles de propiedad del pedido, lo que aumenta sustancialmente el riesgo y hace posible devolver el ‘pedido’ como un objeto. Los expertos descubrieron que la función ‘payment_scripts’ podría usarse para activar la variable ‘javascript_params’. Luego, esta función devuelve una variable de objeto de JavaScript al front-end mediante la función ‘wp_localize_script’. Cuando un usuario visita la página de inicio del sitio web,

Después de un examen más detallado , se encontró una segunda aparición de la vulnerabilidad dentro del método ‘pago_campos’. Esta vulnerabilidad, como la que se encuentra en la función ‘javascript_params’, se deriva del hecho de que no se está verificando la propiedad del pedido. El resultado es el mismo: el front-end tiene acceso tanto a la dirección de correo electrónico de facturación del usuario como a su nombre completo.

WooCommerce ha publicado una actualización para la vulnerabilidad CVE-2023-34000 en la versión 7.4.1, y algunas versiones anteriores también tienen la solución retroportada. En vista de la naturaleza potencialmente grave de la vulnerabilidad, se recomienda encarecidamente a los administradores del sitio y a los expertos en seguridad que aceleren las operaciones de parcheo actualmente en marcha.