Vulnerabilidad crítica detectada en WooCommerce el 13 de julio de 2021: lo que necesita saber

Publicado: 2021-07-15

Última actualización: 23 de julio de 2021

El 13 de julio de 2021, el investigador de seguridad Josh, a través de nuestro programa de seguridad HackerOne, identificó y divulgó responsablemente una vulnerabilidad crítica relacionada con WooCommerce y el complemento de la función Bloques de WooCommerce.

Al enterarse del problema, nuestro equipo realizó de inmediato una investigación exhaustiva, auditó todas las bases de código relacionadas y creó un parche para solucionar el problema para cada versión afectada (más de 90 versiones) que se implementó automáticamente en las tiendas vulnerables.

Tengo una tienda WooCommerce, ¿qué acciones debo tomar?

Las actualizaciones automáticas de software de WooCommerce 5.5.1 comenzaron a implementarse el 14 de julio de 2021 en todas las tiendas que ejecutan las versiones afectadas de cada complemento, pero aún así le recomendamos que se asegure de estar usando la última versión. Para WooCommerce, esto es 5.5.2 * o el número más alto posible en su rama de lanzamiento. Si también está ejecutando WooCommerce Blocks, debería usar la versión 5.5.1 de ese complemento.

Importante : con el lanzamiento de WooCommerce 5.5.2 el 23 de julio de 2021, el proceso de actualización automática mencionado anteriormente se suspendió.

Después de actualizar a una versión parcheada, también recomendamos:

  • Actualizar las contraseñas de los usuarios administradores de su sitio, especialmente si reutilizan las mismas contraseñas en varios sitios web
  • Rotación de las claves API de WooCommerce y Payment Gateway utilizadas en su sitio.

Hay más información sobre estos pasos a continuación.

* WooCommerce 5.5.2 se lanzó el 23 de julio de 2021. Las correcciones contenidas en esta versión no están relacionadas con la vulnerabilidad de seguridad reciente.

¿Cómo sé si mi versión está actualizada?

La siguiente tabla contiene la lista completa de versiones parcheadas para WooCommerce y WooCommerce Blocks. Si está ejecutando una versión de WooCommerce o WooCommerce Blocks que no está en esta lista, actualice inmediatamente a la versión más alta en su rama de lanzamiento.

Versiones parcheadas de WooCommerce Versiones parcheadas de WooCommerce Blocks
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

¿Por qué mi sitio web no recibió la actualización automática?

Es posible que su sitio no se haya actualizado automáticamente por varias razones, algunas de las más probables son: está ejecutando una versión anterior a la afectada (inferior a WooCommerce 3.3), las actualizaciones automáticas se han deshabilitado explícitamente en su sitio, su sistema de archivos es solo lectura, o hay extensiones potencialmente conflictivas que impiden la actualización.

En todos los casos (excepto en el primer ejemplo, en el que no se ve afectado), debe intentar actualizar manualmente a la versión parcheada más reciente en su rama de lanzamiento (por ejemplo, 5.5.2, 5.4.2, 5.3.1, etc.), como se indica en la tabla de arriba.

¿Se ha comprometido algún dato?

Según la evidencia disponible actual, creemos que cualquier explotación fue limitada.

Si una tienda se vio afectada, la información expuesta será específica de lo que almacena ese sitio, pero podría incluir información administrativa, de pedidos y de clientes.

¿Cómo puedo verificar si mi tienda fue explotada?

Debido a la naturaleza de esta vulnerabilidad y la forma extremadamente flexible en que WordPress (y, por lo tanto, WooCommerce) permite que se manejen las solicitudes web, no existe una forma definitiva de confirmar un exploit. Es posible que pueda detectar algunos intentos de explotación revisando los registros de acceso de su servidor web (u obteniendo ayuda de su proveedor de alojamiento web para hacerlo). Las solicitudes en los siguientes formatos vistas entre diciembre de 2019 y ahora probablemente indiquen un intento de explotación:

  • SOLICITUD_URI que coincide con la expresión regular /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI que coincide con la expresión regular /.*\/wc\/store\/products\/collection-data.*%25252.*/ (tenga en cuenta que esta expresión no es eficiente/es lenta de ejecutar en la mayoría de los entornos de registro)
  • Cualquier solicitud que no sea GET (POST o PUT) a /wp-json/wc/store/products/collection-data o /?rest_route=/wc/store/products/collection-data

Las solicitudes que hemos visto que explotan esta vulnerabilidad provienen de las siguientes direcciones IP, con más del 98 % provenientes de las primeras en la lista. Si ve alguna de estas direcciones IP en sus registros de acceso, debe asumir que se estaba aprovechando la vulnerabilidad:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

¿Qué contraseñas necesito cambiar?

Es poco probable que su contraseña se haya visto comprometida ya que está codificada.

Las contraseñas de usuario de WordPress se codifican con sales, lo que significa que el valor de hash resultante es muy difícil de descifrar. Este enfoque de hash salado protege su contraseña como usuario administrador y también las contraseñas de cualquier otro usuario en su sitio, incluidos los clientes. Si bien es posible que se haya accedido a la versión hash de su contraseña almacenada en su base de datos a través de esta vulnerabilidad, el valor hash debe ser imperceptible y aún así proteger sus contraseñas del uso no autorizado.

Esto supone que su sitio está utilizando la gestión de contraseñas estándar de WordPress para usuarios. Dependiendo de los complementos que haya instalado en su sitio, es posible que tenga contraseñas u otra información confidencial almacenada en formas menos seguras.

Si alguno de los usuarios administradores de su sitio pudo haber reutilizado las mismas contraseñas en varios sitios web, le recomendamos que actualice esas contraseñas en caso de que sus credenciales se hayan visto comprometidas en otro lugar.

También recomendamos cambiar cualquier dato privado o secreto almacenado en su base de datos de WordPress/WooCommerce. Esto puede incluir claves API, claves públicas/privadas para pasarelas de pago y más, según la configuración particular de su tienda.

Como desarrollador de extensiones o proveedor de servicios, ¿deberíamos alertar a nuestros comerciantes de WooCommerce?

Si trabaja con cualquier tienda o comerciante WooCommerce en vivo, lo alentamos a que trabaje con ellos para asegurarse de que conozcan este problema y/o actualicen su tienda a una versión segura.

Si ha creado una extensión u ofrece un servicio SaaS que se basa en la API de WooCommerce, lo alentamos a que ayude a los comerciantes a restablecer las claves para conectarse a su servicio.

Como propietario de una tienda, ¿debo alertar a mis clientes?

Ya sea que alerte a sus clientes depende en última instancia de usted. Sus obligaciones de notificar a los clientes o restablecer cosas como contraseñas variarán según detalles como la infraestructura de su sitio, dónde se encuentran geográficamente usted y sus clientes, qué datos recopila su sitio y si su sitio se ha visto comprometido o no.

La acción más importante que puede tomar para proteger a sus clientes es actualizar su versión de WooCommerce a una versión que haya sido parcheada con una corrección para esta vulnerabilidad.

Después de actualizar, recomendamos:

  • Actualizar las contraseñas de los usuarios administradores de su sitio, especialmente si reutiliza las mismas contraseñas en varios sitios web
  • Rotación de las claves API de WooCommerce y Payment Gateway utilizadas en su sitio.

Como propietario de la tienda, en última instancia, es su decisión si desea tomar precauciones adicionales, como restablecer las contraseñas de sus clientes. Las contraseñas de los usuarios de WordPress (y, por lo tanto, de WooCommerce) se codifican con sales, lo que significa que el valor de hash resultante es muy difícil de descifrar. Este enfoque de hash salado se aplica a todas las contraseñas de usuario en su sitio, incluidas las contraseñas de sus clientes.

¿Sigue siendo seguro usar WooCommerce?

Si.

Incidentes como este son poco comunes, pero lamentablemente a veces suceden. Nuestra intención es siempre responder de inmediato y operar con total transparencia.

Desde que se enteró de la vulnerabilidad, el equipo ha trabajado las 24 horas para garantizar que se haya implementado una solución y que nuestros usuarios hayan sido informados.

Nuestra inversión continua en la seguridad de la plataforma nos permite evitar la gran mayoría de los problemas, pero en los casos excepcionales que podrían afectar a las tiendas, nos esforzamos por solucionarlos rápidamente, comunicarnos de manera proactiva y trabajar en colaboración con la comunidad de WooCommerce.

¿Qué pasa si todavía tengo preguntas?

Si tiene más inquietudes o preguntas con respecto a este problema, nuestro equipo de ingenieros de felicidad está disponible para ayudarlo: abra un ticket de soporte.