Loading...
Skip to main content

CVE-2024-27894 — Vulnerability in...

HIGH

Apache Pulsar: Pulsar Functions Worker Allows Unauthorized File Access and Unauthorized HTTP/HTTPS Proxying

Published March 12, 2024Updated January 21, 2025Source: osv

Summary

The Pulsar Functions Worker includes a capability that permits authenticated users to create functions where the function's implementation is referenced by a URL. The supported URL schemes include "file", "http", and "https". When a function is created using this method, the Functions Worker will retrieve the implementation from the URL provided by the user. However, this feature introduces a vulnerability that can be exploited by an attacker to gain unauthorized access to any file that the Pulsar Functions Worker process has permissions to read. This includes reading the process environment which potentially includes sensitive information, such as secrets. Furthermore, an attacker could leverage this vulnerability to use the Pulsar Functions Worker as a proxy to access the content of remote HTTP and HTTPS endpoint URLs. This could also be used to carry out denial of service attacks. This vulnerability also applies to the Pulsar Broker when it is configured with "functionsWorkerEnabled=true". This issue affects Apache Pulsar versions from 2.4.0 to 2.10.5, from 2.11.0 to 2.11.3, from 3.0.0 to 3.0.2, from 3.1.0 to 3.1.2, and 3.2.0. 2.10 Pulsar Function Worker users should upgrade to at least 2.10.6. 2.11 Pulsar Function Worker users should upgrade to at least 2.11.4. 3.0 Pulsar Function Worker users should upgrade to at least 3.0.3. 3.1 Pulsar Function Worker users should upgrade to at least 3.1.3. 3.2 Pulsar Function Worker users should upgrade to at least 3.2.1. Users operating versions prior to those listed above should upgrade to the aforementioned patched versions or newer versions. The updated versions of Pulsar Functions Worker will, by default, impose restrictions on the creation of functions using URLs. For users who rely on this functionality, the Function Worker configuration provides two configuration keys: "additionalEnabledConnectorUrlPatterns" and "additionalEnabledFunctionsUrlPatterns". These keys allow users to specify a set of URL patterns that are permitted, enabling the creation of functions using URLs that match the defined patterns. This approach ensures that the feature remains available to those who require it, while limiting the potential for unauthorized access and exploitation.

Advisory Timeline

  • First published March 12, 2024 (944 days ago).
  • Last revised January 21, 2025 — 315 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Maven
Update org.apache.pulsar:pulsar-functions-worker to 3.2.1 or later
<!-- Update pom.xml dependency version to 3.2.1 for org.apache.pulsar:pulsar-functions-worker -->
Maven
Update org.apache.pulsar:pulsar-functions-worker to 2.10.6 or later
<!-- Update pom.xml dependency version to 2.10.6 for org.apache.pulsar:pulsar-functions-worker -->
Maven
Update org.apache.pulsar:pulsar-functions-worker to 3.0.3 or later
<!-- Update pom.xml dependency version to 3.0.3 for org.apache.pulsar:pulsar-functions-worker -->
Maven
Update org.apache.pulsar:pulsar-functions-worker to 3.1.3 or later
<!-- Update pom.xml dependency version to 3.1.3 for org.apache.pulsar:pulsar-functions-worker -->
Maven
Update org.apache.pulsar:pulsar-functions-worker to 2.11.4 or later
<!-- Update pom.xml dependency version to 2.11.4 for org.apache.pulsar:pulsar-functions-worker -->

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (5)

Affects 1 ecosystem: maven (1).

PackageEcosystemAffectedFixed In
org.apache.pulsar:pulsar-functions-worker
maven
3.2.03.2.1
org.apache.pulsar:pulsar-functions-worker
maven
2.10.0, 2.10.1, 2.10.2, 2.10.3 (+30 more)2.10.6
org.apache.pulsar:pulsar-functions-worker
maven
3.0.0, 3.0.1, 3.0.23.0.3
org.apache.pulsar:pulsar-functions-worker
maven
3.1.0, 3.1.1, 3.1.23.1.3
org.apache.pulsar:pulsar-functions-worker
maven
2.11.0, 2.11.1, 2.11.2, 2.11.32.11.4

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-20
    Improper Input ValidationMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2024-27894?
Apache Pulsar: Pulsar Functions Worker Allows Unauthorized File Access and Unauthorized HTTP/HTTPS Proxying This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.8/10).
How do I check if my project is affected by CVE-2024-27894?
CVE-2024-27894 affects org.apache.pulsar:pulsar-functions-worker. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2024-27894 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.8

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-c2x9-vw5h-39vc

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies