CVE

Vulnerabilidad en la función "WP_CLI\Utils\http_request()" en el manejo de peticiones HTTPS en WP-CLI (CVE-2021-29504)

Severidad:
ALTA
Type:
CWE-295 Validación incorrecta de certificados
Fecha de publicación:
07/06/2021
Última modificación:
17/06/2021

Descripción

WP-CLI es la interfaz de línea de comandos para WordPress. Un manejo inapropiado de errores en la administración de peticiones HTTPS en la versión 0.12.0 y posteriores de WP-CLI, permite a atacantes remotos capaces de interceptar la comunicación desactivar remotamente la comprobación del certificado en el lado de WP-CLI, obteniendo un control total sobre el contenido de la comunicación, incluyendo la habilidad de hacerse pasar por servidores de actualización y empujar actualizaciones maliciosas hacia instancias de WordPress controladas por el agente vulnerable de WP-CLI, o empujar actualizaciones maliciosas hacia el propio WP-CLI. La vulnerabilidad proviene del hecho de que el comportamiento por defecto de la función "WP_CLI\Utils\http_request()" cuando se encuentra un error de protocolo de enlace TLS es desactivar la comprobación del certificado y volver a intentar la misma petición. El comportamiento por defecto ha sido cambiado con la versión 2.5.0 de WP-CLI y el framework "wp-cli/wp-cli" (por medio de https://github.com/wp-cli/wp-cli/pull/5523) para que el método "WP_CLI\Utils\http_request()" acepte una opción "$insecure" que es "false" por defecto y en consecuentemente un fallo de protocolo de enlace TLS es un error duro por defecto. Este nuevo valor por defecto es un cambio de ruptura y se extiende a todos los consumidores de la función "WP_CLI\Utils\http_request()", incluyendo aquellos en paquetes separados de WP-CLI o de terceros. https://github.com/wp-cli/wp-cli/pull/5523 también ha añadido un flag "--insecure" al comando "cli update" para contrarrestar este cambio de ruptura. No hay una solución directa para el comportamiento no seguro por defecto de las versiones anteriores a 2.5.0 de "wp-cli/wp-cli". La solución para tratar el cambio de ruptura en los comandos directamente afectados por el nuevo comportamiento seguro por defecto es añadir el flag "--insecure" para optar manualmente por el comportamiento no seguro anterior

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:wp-cli:wp-cli:*:*:*:*:*:*:*:* 0.12.0 (incluyendo) 2.5.0 (excluyendo)