CVE-2020-14326

7.5 HIGH

📋 TL;DR

CVE-2020-14326 is a denial-of-service vulnerability in RESTEasy's RootNode caching mechanism that allows attackers to cause hash flooding, resulting in slower request processing and increased CPU usage. This affects applications using vulnerable versions of RESTEasy for RESTful web services. The vulnerability can be exploited without authentication to degrade service performance.

💻 Affected Systems

Products:
  • RESTEasy
Versions: RESTEasy versions 3.0.0 through 3.15.1
Operating Systems: All operating systems running Java applications with RESTEasy
Default Config Vulnerable: ⚠️ Yes
Notes: Affects RESTEasy deployments using the default configuration. Applications must be actively serving REST requests to be vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to CPU exhaustion and request processing slowdown, affecting all users of the vulnerable application.

🟠

Likely Case

Degraded application performance with increased response times and higher server resource consumption, potentially causing partial service disruption.

🟢

If Mitigated

Minimal impact with proper rate limiting, monitoring, and updated versions, though some performance degradation may still occur during attack attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires sending specially crafted HTTP requests to trigger hash collisions. No authentication is needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: RESTEasy 3.15.2 and later

Vendor Advisory: https://bugzilla.redhat.com/show_bug.cgi?id=1855826

Restart Required: Yes

Instructions:

1. Identify RESTEasy version in your application. 2. Update to RESTEasy 3.15.2 or later. 3. Rebuild and redeploy your application. 4. Restart the application server.

🔧 Temporary Workarounds

Rate Limiting

all

Implement request rate limiting to reduce impact of hash flooding attacks

Configure rate limiting in your web server or application firewall

Request Filtering

all

Filter or block suspicious request patterns that could trigger hash collisions

Implement custom request filters in your application

🧯 If You Can't Patch

  • Implement strict rate limiting and monitoring for abnormal request patterns
  • Deploy web application firewall with DoS protection rules

🔍 How to Verify

Check if Vulnerable:

Check RESTEasy version in your application dependencies or classpath. If version is between 3.0.0 and 3.15.1 inclusive, you are vulnerable.

Check Version:

Check Maven/Gradle dependencies or examine RESTEasy JAR file version

Verify Fix Applied:

Verify RESTEasy version is 3.15.2 or later after update. Test application functionality and monitor for performance issues.

📡 Detection & Monitoring

Log Indicators:

  • Unusually high CPU usage
  • Increased request processing times
  • Multiple similar requests from single sources

Network Indicators:

  • High volume of similar HTTP requests
  • Requests causing hash collisions

SIEM Query:

source="application_logs" AND (message="high cpu" OR message="slow request") AND resource="RESTEasy"

🔗 References

📤 Share & Export