CVE-2021-43045

7.5 HIGH

📋 TL;DR

This vulnerability in Apache Avro's .NET SDK allows attackers to cause denial-of-service by forcing excessive resource allocation. It affects .NET applications using Apache Avro version 1.10.2 and earlier. The issue is resolved in version 1.11.0.

💻 Affected Systems

Products:
  • Apache Avro .NET SDK
Versions: 1.10.2 and prior versions
Operating Systems: All operating systems running .NET applications with Apache Avro
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects .NET applications using Apache Avro; other language implementations are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to resource exhaustion, potentially affecting multiple dependent services.

🟠

Likely Case

Degraded performance or temporary service disruption for affected applications.

🟢

If Mitigated

Minimal impact with proper input validation and resource limits in place.

🌐 Internet-Facing: MEDIUM - Exploitable remotely but requires specific conditions and targeting.
🏢 Internal Only: MEDIUM - Internal applications could be targeted by malicious insiders or compromised accounts.

🎯 Exploit Status

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

Exploitation requires ability to send malicious Avro data to vulnerable applications.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.11.0

Vendor Advisory: https://lists.apache.org/thread/5fttw9vk6gd2p3b846nox7hcj5469xfd

Restart Required: Yes

Instructions:

1. Update Apache Avro NuGet package to version 1.11.0 or later. 2. Rebuild and redeploy affected applications. 3. Restart application services.

🔧 Temporary Workarounds

Input validation and size limits

all

Implement strict input validation and size limits on Avro data processing

Resource monitoring and throttling

all

Monitor resource usage and implement throttling mechanisms

🧯 If You Can't Patch

  • Implement strict input validation and size limits on all Avro data processing
  • Deploy resource monitoring with automatic alerting for abnormal resource consumption

🔍 How to Verify

Check if Vulnerable:

Check NuGet package references for Apache.Avro version <= 1.10.2

Check Version:

dotnet list package Apache.Avro

Verify Fix Applied:

Verify Apache.Avro package version is >= 1.11.0 in project dependencies

📡 Detection & Monitoring

Log Indicators:

  • Unusually high memory or CPU usage during Avro processing
  • Failed Avro parsing attempts with large payloads

Network Indicators:

  • Large Avro payloads being sent to applications
  • Repeated Avro data submissions

SIEM Query:

source="application_logs" AND ("Avro" OR "Apache.Avro") AND (memory_usage > threshold OR cpu_usage > threshold)

🔗 References

📤 Share & Export