CVE-2022-33684: Pulsar client Apache Pulsar Disabled Certificate Validation Vulnerability
HIGHCVE-2022-33684 is a HIGH (CVSS 8.1) apache pulsar disabled certificate validation vulnerability (CWE-295: Improper Certificate Validation) affecting Pulsar client libraries in the PyPI ecosystem. The issue involves apache pulsar disabled certificate validation for oauth client credential requests makes c++/python clients vulnerable to mitm attack. Remediation is available by upgrading affected packages to version 2.7.5, 2.8.4, 2.9.3, 2.10.2.
CVE-2022-33684 at a Glance
Security Impact
CVSS: 8.1
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).
How to Fix CVE-2022-33684
To remediate this vulnerability, upgrade all affected Pulsar client dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install pulsar-client>=2.7.5
pip install pulsar-client>=2.8.4
pip install pulsar-client>=2.9.3
pip install pulsar-client>=2.10.2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show pulsar-client
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2022-33684, inspect your installed packages using pip:
pip show pulsar-client
Analyze the terminal output to locate any version of Pulsar client in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.7.5), your application is affected.
Note: The pip show pulsar-client command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-295: Improper Certificate Validation, where the product does not validate, or incorrectly validates, a certificate. In Pulsar client, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2022-33684 Affected Pulsar client Versions
4 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
pulsar-client
|
PyPI |
< 2.7.5
|
2.7.5
|
|
pulsar-client
|
PyPI |
≥ 2.8.0
< 2.8.4
|
2.8.4
|
|
pulsar-client
|
PyPI |
≥ 2.9.0
< 2.9.3
|
2.9.3
|
|
pulsar-client
|
PyPI |
≥ 2.10.0
< 2.10.2
|
2.10.2
|
References
Frequently Asked Questions
What is CVE-2022-33684?
Which Pulsar client versions are affected?
What version fixes CVE-2022-33684?
Is pulsar-client affected?
What is the CVSS score of CVE-2022-33684?
What CWE is associated with CVE-2022-33684?
How can I check PyPI dependencies for CVE-2022-33684?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-5r3h-c3r7-9w4h",
"modified" : "2025-05-02T21:57:45Z",
"published" : "2022-11-04T19:01:17Z",
"aliases" : [ "CVE-2022-33684" ],
"summary" : "Apache Pulsar Disabled Certificate Validation for OAuth Client Credential Requests makes C++/Python Clients vulnerable to MITM attack",
"details" : "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. \n\nThis 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. \n\nAny users running affected versions of the C++ Client or the Python Client should rotate vulnerable OAuth2.0 credentials, including `client_id` and `client_secret`. \n- 2.7 C++ and Python Client users should upgrade to 2.7.5 and rotate vulnerable OAuth2.0 credentials. \n- 2.8 C++ and Python Client users should upgrade to 2.8.4 and rotate vulnerable OAuth2.0 credentials. \n- 2.9 C++ and Python Client users should upgrade to 2.9.3 and rotate vulnerable OAuth2.0 credentials. \n- 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. \n- Any users running the C++ and Python Client for 2.6 or less should upgrade to one of the above patched versions.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "pulsar-client"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.7.5"
} ]
} ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "pulsar-client"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.8.0"
}, {
"fixed" : "2.8.4"
} ]
} ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "pulsar-client"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.9.0"
}, {
"fixed" : "2.9.3"
} ]
} ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "pulsar-client"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.10.0"
}, {
"fixed" : "2.10.2"
} ]
} ]
} ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2022-33684"
}, {
"type" : "WEB",
"url" : "https://github.com/apache/pulsar/pull/16064"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/apache/pulsar-client-cpp"
}, {
"type" : "WEB",
"url" : "https://huntr.dev/bounties/df89b724-3201-47aa-b8cd-282e112a566f"
}, {
"type" : "WEB",
"url" : "https://lists.apache.org/thread/ky1ssskvkj00y36k7nys9b5gm5jjrzwv"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-295" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2022-11-08T14:41:17Z",
"nvd_published_at" : "2022-11-04T12:15:00Z"
}
}