Hi Michael,

Thanks for your explanation. I think now we can mark #16064 [1] as the
fix to the CVE.

In addition, the Apache Node.js client [2] is also based on the C++
client. I'm not familiar
with how to install the Node.js client at the moment. It looks like it
requires a pre-installation
of the C++ client. So for Node.js users, they must upgrade the C++
client to the proper version.

[1] https://github.com/apache/pulsar/pull/16064
[2] https://github.com/apache/pulsar-client-node

Thanks,
Yunze


On Fri, Nov 4, 2022 at 2:40 AM Michael Marshall <mmarsh...@apache.org> wrote:
>
> Severity: high
>
> Description:
>
> The Apache Pulsar C++ Client does not verify peer TLS certificates when 
> making HTTPS calls for the OAuth2.0 Client Credential Flow, even when 
> tlsAllowInsecureConnection is disabled via configuration. This vulnerability 
> allows an attacker to perform a man in the middle attack and intercept and/or 
> modify the GET request that is sent to the ClientCredentialFlow 'issuer url'. 
> The intercepted credentials can be used to acquire authentication data from 
> the OAuth2.0 server to then authenticate with an Apache Pulsar cluster.
>
> 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.
>
> The Apache Pulsar Python Client wraps the C++ client, so it is also 
> vulnerable in the same way.
>
> This issue affects Apache Pulsar C++ Client and Python 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 to 2.10.1; 2.6.4 and earlier.
>
> Mitigation:
>
> Any users running affected versions of the C++ Client or the Python Client 
> should rotate vulnerable OAuth2.0 credentials, including client_id and 
> client_secret.
>
> 2.7 C++ and Python Client users should upgrade to 2.7.5 and rotate vulnerable 
> OAuth2.0 credentials.
> 2.8 C++ and Python Client users should upgrade to 2.8.4 and rotate vulnerable 
> OAuth2.0 credentials.
> 2.9 C++ and Python Client users should upgrade to 2.9.3 and rotate vulnerable 
> OAuth2.0 credentials.
> 2.10 C++ and Python Client users should upgrade to 2.10.2 and rotate 
> vulnerable OAuth2.0 credentials.
> 3.0 C++ users are unaffected and 3.0 Python Client users will be unaffected 
> when it is released.
> Any users running the C++ and Python Client for 2.6 or less should upgrade to 
> one of the above patched versions.
>
> Credit:
>
> This issue was discovered by Michael Rowley, michaellrow...@protonmail.com
>

Reply via email to