CVE-2024-45384

5.3 MEDIUM

📋 TL;DR

A padding oracle vulnerability in Apache Druid's optional druid-pac4j extension could allow attackers to manipulate session cookies. This affects Druid installations using the druid-pac4j extension in versions 0.18.0 through 30.0.0. The extension is disabled by default, so only systems explicitly enabling it are vulnerable.

💻 Affected Systems

Products:
  • Apache Druid
Versions: 0.18.0 through 30.0.0
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only affects systems with the optional druid-pac4j extension explicitly enabled; disabled by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Session hijacking or privilege escalation if attackers successfully manipulate pac4j session cookies to impersonate legitimate users.

🟠

Likely Case

Limited impact due to the optional nature of the extension and lack of known meaningful exploitation methods; potential for session manipulation in specific configurations.

🟢

If Mitigated

Minimal to no impact if the extension is disabled or proper security controls like strong cookie passphrases are implemented.

🌐 Internet-Facing: MEDIUM - Internet-facing Druid instances with the druid-pac4j extension enabled could be targeted for session manipulation attacks.
🏢 Internal Only: LOW - Internal-only deployments have reduced attack surface, but risk exists if internal attackers can access vulnerable systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

No known meaningful exploitation methods exist currently, but padding oracle vulnerabilities can potentially be leveraged for session manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 30.0.1 or higher

Vendor Advisory: https://lists.apache.org/thread/gr94fnp574plb50lsp8jw4smvgv1lbz1

Restart Required: Yes

Instructions:

1. Upgrade Apache Druid to version 30.0.1 or higher. 2. Restart Druid services. 3. Verify the druid-pac4j extension is properly configured with a strong druid.auth.pac4j.cookiePassphrase.

🔧 Temporary Workarounds

Disable druid-pac4j extension

all

If not using the druid-pac4j extension, ensure it remains disabled in configuration.

Verify druid.extensions.loadList does not include 'druid-pac4j' in common.runtime.properties

Set strong cookie passphrase

all

Configure a strong, random passphrase for cookie encryption as an additional security measure.

Set druid.auth.pac4j.cookiePassphrase to a strong random value in common.runtime.properties

🧯 If You Can't Patch

  • Disable the druid-pac4j extension if not required for functionality
  • Implement network segmentation and restrict access to Druid instances

🔍 How to Verify

Check if Vulnerable:

Check if druid-pac4j extension is enabled in common.runtime.properties and verify Druid version is between 0.18.0 and 30.0.0 inclusive.

Check Version:

Check Druid version via API endpoint or configuration files; typically found in logs or via /status endpoint.

Verify Fix Applied:

Confirm Druid version is 30.0.1 or higher and verify the druid-pac4j extension configuration includes a strong cookie passphrase.

📡 Detection & Monitoring

Log Indicators:

  • Unusual session cookie manipulation attempts, authentication errors related to pac4j

Network Indicators:

  • Repeated requests to Druid endpoints with manipulated cookie values

SIEM Query:

Example: source="druid" AND (event_type="authentication_failure" OR cookie_manipulation_detected)

🔗 References

📤 Share & Export