CVE-2024-55638

9.8 CRITICAL

📋 TL;DR

This CVE describes a gadget chain in Drupal Core that enables object injection when untrusted data is deserialized. While the chain itself isn't directly exploitable, it can be leveraged for remote code execution if another vulnerability allows deserialization of attacker-controlled data. Affected are Drupal sites running vulnerable versions from 7.0 through 10.3.8.

💻 Affected Systems

Products:
  • Drupal Core
Versions: 7.0 to 7.101, 8.0.0 to 10.2.10, 10.3.0 to 10.3.8
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires another vulnerability that allows deserialization of untrusted data to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, and lateral movement within the network.

🟠

Likely Case

Remote code execution resulting in website defacement, data exfiltration, or installation of backdoors.

🟢

If Mitigated

No impact if proper input validation prevents deserialization of untrusted data.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires chaining with another deserialization vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.102, 10.2.11, 10.3.9

Vendor Advisory: https://www.drupal.org/sa-core-2024-008

Restart Required: No

Instructions:

1. Backup your Drupal site and database. 2. Update Drupal core to the patched version via Composer (composer update drupal/core-recommended --with-dependencies) or manual download. 3. Clear all caches (drush cr or via admin interface).

🔧 Temporary Workarounds

Input validation hardening

all

Implement strict input validation to prevent deserialization of untrusted data in all user inputs.

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block deserialization attempts.
  • Restrict network access to Drupal admin interfaces and apply principle of least privilege.

🔍 How to Verify

Check if Vulnerable:

Check Drupal version via admin/reports/status or drush status. Compare against affected versions.

Check Version:

drush status | grep 'Drupal version' or check admin/reports/status page.

Verify Fix Applied:

Confirm Drupal version is 7.102, 10.2.11, 10.3.9 or higher via admin/reports/status.

📡 Detection & Monitoring

Log Indicators:

  • Unusual PHP object injection attempts in web server logs
  • Errors related to unserialize() function

Network Indicators:

  • HTTP requests with serialized PHP objects in parameters

SIEM Query:

web* AND (unserialize OR php_object_injection)

🔗 References

📤 Share & Export