CVE-2024-1931

7.5 HIGH

📋 TL;DR

This vulnerability in NLnet Labs Unbound DNS resolver allows remote attackers to cause denial of service via an infinite loop when EDE (Extended DNS Error) records are enabled. The vulnerability affects Unbound servers with non-default 'ede: yes' configuration when clients advertise small buffer sizes. Only Unbound versions 1.18.0 through 1.19.1 are affected.

💻 Affected Systems

Products:
  • NLnet Labs Unbound
Versions: 1.18.0 through 1.19.1 inclusive
Operating Systems: Linux, FreeBSD, Other Unix-like systems running Unbound
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when 'ede: yes' is explicitly configured (non-default setting)

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service outage of DNS resolution, potentially affecting all downstream services that rely on DNS lookups

🟠

Likely Case

Targeted DoS against vulnerable Unbound instances, causing DNS resolution failures for clients

🟢

If Mitigated

Minimal impact if EDE feature is disabled or systems are patched

🌐 Internet-Facing: HIGH - Unbound DNS servers are typically internet-facing and can be targeted remotely
🏢 Internal Only: MEDIUM - Internal DNS servers could be targeted by compromised internal systems

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Requires sending DNS queries to trigger the condition

Exploitation requires clients with small advertised buffer sizes and EDE records in responses

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.19.2 and later

Vendor Advisory: https://nlnetlabs.nl/news/2024/Jul/03/unbound-1.19.2-released/

Restart Required: Yes

Instructions:

1. Download Unbound 1.19.2 or later from nlnetlabs.nl 2. Stop Unbound service 3. Install/upgrade to patched version 4. Restart Unbound service

🔧 Temporary Workarounds

Disable EDE feature

linux

Remove or comment out 'ede: yes' configuration option

sed -i 's/^ede: yes$/# ede: yes/' /etc/unbound/unbound.conf
systemctl restart unbound

🧯 If You Can't Patch

  • Disable EDE feature in Unbound configuration
  • Implement network segmentation to limit access to Unbound servers

🔍 How to Verify

Check if Vulnerable:

Check Unbound version and configuration: 'unbound -V' and grep for 'ede: yes' in config files

Check Version:

unbound -V | grep version

Verify Fix Applied:

Verify version is 1.19.2 or later: 'unbound -V | grep version'

📡 Detection & Monitoring

Log Indicators:

  • High CPU usage spikes
  • Unbound process hanging
  • DNS query timeouts

Network Indicators:

  • Increased DNS query failures
  • Unusual DNS query patterns targeting EDE features

SIEM Query:

source="unbound.log" ("high cpu" OR "timeout" OR "loop")

🔗 References

📤 Share & Export