Vulnerabilidad en Apache Pulsar permitió ataques de manipulador en el medio

Clientes vulnerables debido a una validación de certificado incorrecta

Una vulnerabilidad recién descubierta en Apache Pulsar permite a un atacante remoto llevar a cabo un ataque de manipulador en el medio (MitM) debido a una validación de certificado incorrecta.

Apache Pulsar es una solución distribuida de código abierto para mensajería y colas de servidor a servidor basada en el patrón de publicación-suscripción.

Lo utilizan miles de empresas para canalizaciones de datos de alto rendimiento, microservicios, mensajería instantánea, integraciones de datos y más, administrando cientos de miles de millones de eventos por día.

Pero un retraso en el proceso de verificación del nombre de host TLS en Pulsar Java Client y Pulsar Proxy, descubierto por Michael Marshall de la firma de base de datos como servicio en la nube DataStax, hace que cada cliente sea vulnerable a un ataque medio de MitM.

La vulnerabilidad no es específica del protocolo Pulsar, pero existe gracias a una debilidad fundamental en la verificación del nombre de host TLS que significa que el protocolo no puede aplicar la verificación del nombre de host.

Pulsar Java Client envía su certificado de cliente como parte de su paso de autenticación de cliente, mientras que Pulsar Proxy envía su certificado de servidor como parte de su paso de autenticación.

Sin embargo, los datos de autenticación se envían antes de verificar que el certificado TLS del servidor coincida con el nombre de host, lo que significa que los datos de autenticación podrían quedar expuestos a un atacante.

Método de ataque

Para aprovechar esta vulnerabilidad un atacante necesitaría tomar el control de una máquina entre el cliente y el servidor. Luego, tendrían que manipular activamente el tráfico para realizar el ataque proporcionando al cliente un certificado criptográficamente válido para un host no relacionado.

Y debido a que el cliente envía datos de autenticación antes de realizar la verificación del nombre de host, el atacante podría obtener acceso a los datos de autenticación del cliente.

Cuando el cliente verifica el nombre de host y establece que el nombre de host de destino no coincide con un nombre de host en el certificado, el cliente finalmente cierra la conexión.

Esto significa que el valor de los datos de autenticación interceptados dependerá del método de autenticación utilizado por el cliente, siendo vulnerables los métodos basados ​​en token y de nombre de usuario/contraseña porque los datos de autenticación se pueden usar para suplantar al cliente en una sesión separada.

La vulnerabilidad, clasificada como de gravedad media, afecta a Apache Pulsar Java Client versiones 2.7.0 a 2.7.4; 2.8.0 a 2.8.3; 2.9.0 a 2.9.2; 2.10.0; y 2.6.4 y anteriores.

Se recomienda a los usuarios que actualicen a versiones no afectadas (2.7.5, 2.8.4, 2.9.3, 2.10.1 o superiores) y que roten los datos de autenticación vulnerables, incluidos tokens y contraseñas.

DataStax dice que ha alertado a sus clientes sobre la vulnerabilidad. “Las vulnerabilidades de seguridad de Pulsar ya se han solucionado para la oferta de DataStax Luna Streaming y pronto estarán en una actualización de nuestro servicio Astra Streaming”, dice un portavoz.

Fuente: https://portswigger.net/daily-swig/vulnerability-in-apache-pulsar-allowed-manipulator-in-the-middle-attacks