CVE-2024-27317 Apache Pulsar: Pulsar Functions Worker's Archive Extraction Vulnerability Allows Unauthorized File Modification

High 8.4 Published Updated

Authenticated attackers can exploit directory traversal in Pulsar Functions Worker to create or modify files outside the intended extraction directory.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-27317?

CVE-2024-27317 is a high-severity path traversal vulnerability in Apache Pulsar, published on 12 Mar 2024. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

In Pulsar Functions Worker, authenticated users can upload functions in jar or nar files. These files, essentially zip files, are extracted by the Functions Worker. However, if a malicious file is uploaded, it could exploit a directory traversal vulnerability. This occurs when the filenames in the zip files, which aren't properly validated, contain special elements like "..", altering the directory path. This could allow an attacker to create or modify files outside of the designated extraction directory, potentially influencing system behavior. 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.

Weakness: CWE-22

Which versions are affected by CVE-2024-27317?

10 open source packages ship an affected version, including org.apache.pulsar:pulsar-functions-worker. It affects 1 product.

PackageAffectedFixed in
org.apache.pulsar:pulsar-functions-worker MavenFrom 2.11.02.11.4
org.apache.pulsar:pulsar-functions-worker MavenFrom 2.11.02.11.4
org.apache.pulsar:pulsar-functions-worker MavenFrom 2.4.02.10.6
org.apache.pulsar:pulsar-functions-worker MavenFrom 2.4.02.10.6
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.0.03.0.3
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.0.03.0.3
4 more packages
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.1.03.1.3
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.1.03.1.3
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.2.03.2.1
org.apache.pulsar:pulsar-functions-worker MavenFrom 3.2.03.2.1

Products include Apache Pulsar.

How do I fix CVE-2024-27317?

Upgrade org.apache.pulsar:pulsar-functions-worker to a fixed version for your release line: 2.11.4, 2.10.6, 3.0.3 or 3.1.3.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2024-27317 being exploited?

There is no known exploitation of CVE-2024-27317 in the wild and no public exploit code.

Sources

Also known as GHSA-jg2g-4rjg-cmqh.

Is CVE-2024-27317 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free