Man-in-the-Middle (MitM) Affecting org.apache.pulsar:pulsar-client-api package, versions [,2.7.5)[2.8.0,2.8.4)[2.9.0,2.9.3)[2.10.0,2.10.1)


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.05% (18th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JAVA-ORGAPACHEPULSAR-3031790
  • published23 Sept 2022
  • disclosed23 Sept 2022
  • creditMichael Marshall

Introduced: 23 Sep 2022

CVE-2022-33682  (opens in a new tab)
CWE-300  (opens in a new tab)

How to fix?

Upgrade org.apache.pulsar:pulsar-client-api to version 2.7.5, 2.8.4, 2.9.3, 2.10.1 or higher.

Overview

Affected versions of this package are vulnerable to Man-in-the-Middle (MitM) due to the TLS hostname verification which cannot be enabled in the Pulsar Broker's Java Client, the Pulsar Broker's Java Admin Client, the Pulsar WebSocket Proxy's Java Client, and the Pulsar Proxy's Admin Client, leaving intra-cluster connections and geo-replication connections vulnerable to man in the middle attacks, which could leak credentials, configuration data, message data, and any other data sent by these clients. The vulnerability is for both the pulsar+ssl protocol and HTTPS.

Mitigation:

Any users running affected versions of the Pulsar Broker, Pulsar Proxy, or Pulsar WebSocket Proxy should rotate static authentication data vulnerable to man in the middle attacks used by these applications, including tokens and passwords. To enable hostname verification, update the following configuration files:

In the Broker configuration (broker.conf, by default) and in the WebSocket Proxy configuration (websocket.conf, by default), set: brokerClient_tlsHostnameVerificationEnable=true

In Pulsar Helm chart deployments, the Broker and WebSocket Proxy setting name should be prefixed with PULSAR_PREFIX_.

In the Proxy configuration (proxy.conf, by default), set: tlsHostnameVerificationEnabled=true

CVSS Scores

version 3.1