Severity: high

Description:

Delayed TLS hostname verification in the Pulsar Java Client and the Pulsar 
Proxy make each client vulnerable to a man in the middle attack. Connections 
from the Pulsar Java Client to the Pulsar Broker/Proxy and connections from the 
Pulsar Proxy to the Pulsar Broker are vulnerable. Authentication data is sent 
before verifying the server’s TLS certificate matches the hostname, which means 
authentication data could be exposed to an attacker.

An attacker can only take advantage of this vulnerability by taking control of 
a machine 'between' the client and the server. The attacker must then actively 
manipulate traffic to perform the attack by providing the client with a 
cryptographically valid certificate for an unrelated host. Because the client 
sends authentication data before performing hostname verification, an attacker 
could gain access to the client’s authentication data. The client eventually 
closes the connection when it verifies the hostname and identifies the targeted 
hostname does not match a hostname on the certificate.

Because the client eventually closes the connection, the value of the 
intercepted authentication data depends on the authentication method used by 
the client. Token based authentication and username/password authentication 
methods are vulnerable because the authentication data can be used to 
impersonate the client in a separate session.

This issue affects Apache Pulsar Java Client versions 2.7.0 to 2.7.4; 2.8.0 to 
2.8.3; 2.9.0 to 2.9.2; 2.10.0; 2.6.4 and earlier.

Mitigation:

Any users running affected versions of the Java Client should rotate vulnerable 
authentication data, including tokens and passwords.

2.7 Pulsar Java Client users should upgrade to 2.7.5, and rotate vulnerable 
authentication data, including tokens and passwords.
2.8 Pulsar Java Client users should upgrade to 2.8.4, and rotate vulnerable 
authentication data, including tokens and passwords.
2.9 Pulsar Java Client users should upgrade to 2.9.3, and rotate vulnerable 
authentication data, including tokens and passwords.
2.10 Pulsar Java Client users should upgrade to 2.10.1, and rotate vulnerable 
authentication data, including tokens and passwords.
Any users running the Pulsar Java Client for 2.6.4 and earlier should upgrade 
to one of the above patched versions, and rotate vulnerable authentication 
data, including tokens and passwords.

Credit:

This issue was discovered by Michael Marshall of DataStax.

Reply via email to