Vulnerabilidad permite realizar un ataque Man In The Middle en Apache Pulsar
INTRODUCCIÓN
Apache Pulsar: La desactivación de la validación de certificados para las solicitudes de credenciales de los clientes de OAuth hace que los clientes de C++/Python sean vulnerables a un ataque Man In The Middle.
ANÁLISIS
El cliente C++ de Apache Pulsar no verifica los certificados TLS cuando realiza llamadas HTTPS para el flujo de credenciales de cliente OAuth2.0, incluso cuando tlsAllowInsecureConnection está desactivado a través de la configuración. Esta vulnerabilidad permite a un atacante realizar un ataque man in the middle e interceptar y/o modificar la petición GET que se envía a la 'url del emisor' de ClientCredentialFlow. Las credenciales interceptadas pueden ser utilizadas para adquirir datos de autenticación del servidor OAuth2.0 para luego autenticarse con un cluster de Apache Pulsar. Un atacante sólo puede aprovecharse de esta vulnerabilidad tomando el control de una máquina entre el cliente y el servidor. El atacante debe entonces manipular activamente el tráfico para realizar el ataque. El cliente Apache Pulsar Python envuelve al cliente C++, por lo que también es vulnerable de la misma manera.
La puntuación global CVSSv3 para esta vulnerabilidad (CVE-2022-33664) es: 8.1
Versiones afectadas:
Las siguientes versiones de Apache Pulsar C++ Client y Python Client:
- 2.7.0 hasta 2.7.4
- 2.8.0 hasta 2.8.3
- 2.9.0 hasta 2.9.2
- 2.10.0 hasta 2.10.1
- 2.6.4 y anteriores
RECOMENDACIONES
Los usuarios que ejecuten las versiones afectadas del Cliente C++ o del Cliente Python deben rotar las credenciales OAuth2.0 vulnerables, incluyendo client_id y client_secret:
2.7 Los usuarios del Cliente C++ y Python deben actualizar a la versión 2.7.5 y rotar las credenciales OAuth2.0 vulnerables.
2.8 Los usuarios de clientes C++ y Python deberían actualizar a la versión 2.8.4 y rotar las credenciales OAuth2.0 vulnerables.
2.9 Los usuarios de clientes C++ y Python deben actualizar a la versión 2.9.3 y rotar las credenciales OAuth2.0 vulnerables.
2.10 Los usuarios del cliente C++ y Python deben actualizar a la versión 2.10.2 y rotar las credenciales OAuth2.0 vulnerables.
Todos los usuarios que ejecuten el cliente C++ y Python para 2.6 o menos deberían actualizar a una de las versiones parcheadas anteriores.
REFERENCIAS
https://lists.apache.org/thread/ky1ssskvkj00y36k7nys9b5gm5jjrzwv
https://nvd.nist.gov/vuln/detail/CVE-2022-33684