CVE-2023-51437 Apache Pulsar: Timing attack in SASL token signature verification
Attackers can exploit timing discrepancies in SASL token verification to forge valid tokens, bypassing authentication in Apache Pulsar.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-51437?
CVE-2023-51437 is a high-severity vulnerability in Apache Pulsar, published on 7 Feb 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Observable timing discrepancy vulnerability in Apache Pulsar SASL Authentication Provider can allow an attacker to forge a SASL Role Token that will pass signature verification. Users are recommended to upgrade to version 2.11.3, 3.0.2, or 3.1.1 which fixes the issue. Users should also consider updating the configured secret in the `saslJaasServerRoleTokenSignerSecretPath` file.
Any component matching an above version running the SASL Authentication Provider is affected. That includes the Pulsar Broker, Proxy, Websocket Proxy, or Function Worker.
2.11 Pulsar users should upgrade to at least 2.11.3. 3.0 Pulsar users should upgrade to at least 3.0.2. 3.1 Pulsar users should upgrade to at least 3.1.1. Any users running Pulsar 2.8, 2.9, 2.10, and earlier should upgrade to one of the above patched versions.
For additional details on this attack vector, please refer to https://codahale.com/a-lesson-in-timing-attacks/ .
Weakness: CWE-203
Which versions are affected by CVE-2023-51437?
6 open source packages ship an affected version, including org.apache.pulsar:pulsar-broker-auth-sasl. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.apache.pulsar:pulsar-broker-auth-sasl Maven | All versions | 2.11.3 |
org.apache.pulsar:pulsar-broker-auth-sasl Maven | All versions | 2.11.3 |
org.apache.pulsar:pulsar-broker-auth-sasl Maven | From 3.0.0 | 3.0.2 |
org.apache.pulsar:pulsar-broker-auth-sasl Maven | From 3.0.0 | 3.0.2 |
org.apache.pulsar:pulsar-broker-auth-sasl Maven | From 3.1.0 | 3.1.1 |
org.apache.pulsar:pulsar-broker-auth-sasl Maven | From 3.1.0 | 3.1.1 |
Products include Apache Pulsar.
How do I fix CVE-2023-51437?
Upgrade org.apache.pulsar:pulsar-broker-auth-sasl to a fixed version for your release line: 2.11.3, 3.0.2 or 3.1.1.
Is CVE-2023-51437 being exploited?
There is no known exploitation of CVE-2023-51437 in the wild and no public exploit code.
Other vulnerabilities in Apache Pulsar
- CVE-2021-22160 Authentication with JWT allows use of “none”-algorithm
- CVE-2023-30429 Apache Pulsar: Incorrect Authorization for Function Worker when using mTLS Authentication through Pulsar Proxy
- CVE-2024-27135 Apache Pulsar: Improper Input Validation in Pulsar Function Worker allows Remote Code Execution
- CVE-2024-27894 Apache Pulsar: Pulsar Functions Worker Allows Unauthorized File Access and Unauthorized HTTP/HTTPS Proxying
- CVE-2024-27317 Apache Pulsar: Pulsar Functions Worker's Archive Extraction Vulnerability Allows Unauthorized File Modification
Sources
Also known as GHSA-c57v-4vg5-cm2x.