CVE-2024-47072

7.5 HIGH

📋 TL;DR

This CVE describes a denial-of-service vulnerability in XStream when configured with BinaryStreamDriver. Attackers can send specially crafted binary input to trigger a stack overflow, crashing the application. Only systems using XStream with BinaryStreamDriver are affected.

💻 Affected Systems

Products:
  • XStream
Versions: All versions before 1.4.21
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when configured to use BinaryStreamDriver. Default configuration uses other drivers.

⚠️ 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

Remote unauthenticated attacker causes application crash and denial of service, potentially disrupting critical business functions.

🟠

Likely Case

Application crashes with StackOverflowError, requiring restart and causing temporary service disruption.

🟢

If Mitigated

Application continues running normally with proper patching or workarounds in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit requires sending specially crafted binary input to vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.21

Vendor Advisory: https://x-stream.github.io/CVE-2024-47072.html

Restart Required: Yes

Instructions:

1. Update XStream dependency to version 1.4.21 or later. 2. Rebuild and redeploy application. 3. Restart affected services.

🔧 Temporary Workarounds

Catch StackOverflowError

all

Wrap XStream calls in try-catch blocks to handle StackOverflowError when using BinaryStreamDriver

try { xstream.fromXML(input); } catch (StackOverflowError e) { // Handle error }

Switch to XML driver

all

Configure XStream to use XML drivers instead of BinaryStreamDriver

XStream xstream = new XStream(new DomDriver());

🧯 If You Can't Patch

  • Implement input validation and sanitization for binary data
  • Use network segmentation and firewalls to restrict access to vulnerable endpoints

🔍 How to Verify

Check if Vulnerable:

Check if application uses XStream version <1.4.21 with BinaryStreamDriver configuration

Check Version:

Check build configuration files (pom.xml, build.gradle) for XStream dependency version

Verify Fix Applied:

Verify XStream version is 1.4.21 or later in dependencies

📡 Detection & Monitoring

Log Indicators:

  • StackOverflowError in application logs
  • Application crash/restart events
  • InputManipulationException (after patch)

Network Indicators:

  • Unusual binary data patterns to XStream endpoints
  • Increased error responses from application

SIEM Query:

source="app_logs" AND ("StackOverflowError" OR "InputManipulationException")

🔗 References

📤 Share & Export