CVE-2021-36749 Druid ingestion system Authenticated users can read data from other sources than intended

Medium 6.5 Published Updated

Authenticated users can bypass application restrictions to read local files via HTTP input source, exposing sensitive data.

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-2021-36749?

CVE-2021-36749 is a medium-severity server-side request forgery vulnerability in Apache Druid, published on 24 Sep 2021. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

In the Druid ingestion system, the InputSource is used for reading data from a certain data source. However, the HTTP InputSource allows authenticated users to read data from other sources than intended, such as the local file system, with the privileges of the Druid server process. This is not an elevation of privilege when users access Druid directly, since Druid also provides the Local InputSource, which allows the same level of access. But it is problematic when users interact with Druid indirectly through an application that allows users to specify the HTTP InputSource, but not the Local InputSource. In this case, users could bypass the application-level restriction by passing a file URL to the HTTP InputSource. This issue was previously mentioned as being fixed in 0.21.0 as per CVE-2021-26920 but was not fixed in 0.21.0 or 0.21.1.

Weakness: CWE-863

Which versions are affected by CVE-2021-36749?

2 open source packages ship an affected version, including org.apache.druid:druid-core. It affects 1 product.

PackageAffectedFixed in
org.apache.druid:druid-core MavenAll versions0.22.0
org.apache.druid:druid-core MavenAll versions0.22.0

Products include Apache Druid.

How do I fix CVE-2021-36749?

Upgrade org.apache.druid:druid-core to 0.22.0 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2021-36749 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2021-36749 exists.

Public exploit code: 1 Nuclei template and 4 proofs of concept on GitHub.

Sources

Also known as GHSA-9p5g-vg43-mj5r.

Is CVE-2021-36749 in your software?

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

Check your SBOMs for free