CVE-2024-49194

7.3 HIGH

📋 TL;DR

This vulnerability in Databricks JDBC Driver allows remote code execution via JNDI injection through a crafted JDBC URL containing the krbJAASFile parameter. Attackers can exploit this by tricking users into connecting with malicious URLs. Organizations using Databricks JDBC Driver 2.x for database connections are affected.

💻 Affected Systems

Products:
  • Databricks JDBC Driver
Versions: 2.x before 2.6.40
Operating Systems: All platforms running Java
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists when using JDBC URLs with krbJAASFile parameter. Applications using the driver for Databricks connections are vulnerable.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with attacker gaining code execution in the context of the JDBC driver process, potentially leading to data exfiltration, lateral movement, or ransomware deployment.

🟠

Likely Case

Limited code execution within the JDBC driver context, potentially allowing access to database credentials and sensitive data accessible through the driver.

🟢

If Mitigated

No impact if proper URL validation and network segmentation prevent malicious connection attempts.

🌐 Internet-Facing: MEDIUM - Requires user interaction (connecting with malicious URL) but could affect internet-facing applications using the driver.
🏢 Internal Only: HIGH - Internal applications using the driver could be targeted via phishing or compromised internal systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires user interaction (connecting with malicious URL) but the technique is well-known (JNDI injection).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.6.40 and later

Vendor Advisory: https://kb.databricks.com/en_US/data-sources/security-bulletin-databricks-jdbc-driver-vulnerability-advisory-cve-2024-49194

Restart Required: Yes

Instructions:

1. Download Databricks JDBC Driver version 2.6.40 or later. 2. Replace existing driver JAR files with updated version. 3. Restart all applications using the driver. 4. Update connection strings in applications if needed.

🔧 Temporary Workarounds

Validate JDBC URLs

all

Implement strict validation of JDBC connection URLs to reject any containing krbJAASFile parameter with suspicious values.

Network Segmentation

all

Restrict outbound network access from JDBC driver hosts to prevent JNDI lookups to external servers.

🧯 If You Can't Patch

  • Implement application-level validation to reject JDBC URLs containing krbJAASFile parameter
  • Use network controls to block outbound LDAP/RMI traffic from systems using the driver

🔍 How to Verify

Check if Vulnerable:

Check the driver version in use. If using Databricks JDBC Driver 2.x and version is below 2.6.40, the system is vulnerable.

Check Version:

Check the JAR file name or properties: databricks-jdbc-2.x.x.jar where x.x should be >= 6.40

Verify Fix Applied:

Verify the driver JAR file version is 2.6.40 or higher by checking file properties or using 'java -jar databricks-jdbc-*.jar --version' if supported.

📡 Detection & Monitoring

Log Indicators:

  • JDBC connection attempts with krbJAASFile parameter in URL
  • Unexpected JNDI/LDAP lookups from JDBC driver process

Network Indicators:

  • Outbound LDAP/RMI connections from systems using Databricks JDBC Driver
  • Suspicious JDBC URL patterns in network logs

SIEM Query:

source="application_logs" AND "krbJAASFile" AND "jdbc:databricks"

🔗 References

📤 Share & Export