CVE-2023-29483 Overview
CVE-2023-29483 is a DNS vulnerability affecting eventlet before version 0.35.2 and dnspython before version 2.6.0. The flaw allows remote attackers to interfere with DNS name resolution by quickly sending an invalid packet from the expected IP address and source port. This attack technique, known as a "TuDoor" attack, exploits a weakness in how the DNS resolution algorithm handles invalid responses within its time window.
The vulnerability stems from dnspython not implementing the preferred behavior where the DNS name resolution algorithm would continue waiting for a valid packet within the full time window after receiving an invalid one. Instead, the resolver may accept or be disrupted by maliciously crafted invalid packets.
Critical Impact
Remote attackers can interfere with DNS name resolution, potentially leading to denial of service, DNS spoofing, or cache poisoning attacks affecting applications relying on these libraries.
Affected Products
- eventlet eventlet (versions before 0.35.2)
- dnspython dnspython (versions before 2.6.0)
- Fedora 38, 39, and 40
- NetApp Bootstrap OS
- NetApp HCI Compute Node
Discovery Timeline
- 2024-04-11 - CVE-2023-29483 published to NVD
- 2025-11-04 - Last updated in NVD database
Technical Details for CVE-2023-29483
Vulnerability Analysis
The TuDoor attack exploits a fundamental weakness in DNS resolver implementations. When a DNS query is sent, the resolver waits for a response from a specific IP address and source port. In vulnerable versions of eventlet and dnspython, an attacker positioned to send packets that appear to originate from the expected DNS server can inject an invalid packet before the legitimate response arrives.
The core issue is that the vulnerable implementations do not properly handle invalid DNS responses. Rather than discarding the invalid packet and continuing to wait for a valid response within the timeout window, the resolver may terminate the resolution process prematurely or enter an error state. This behavior can be exploited by an attacker who can predict or observe DNS queries and race to send a malformed response.
The attack requires network proximity or the ability to send spoofed UDP packets appearing to come from the legitimate DNS server's IP address and port. While the attack complexity is considered high due to timing requirements, successful exploitation can have significant impact on confidentiality, integrity, and availability of DNS-dependent services.
Root Cause
The root cause is improper handling of DNS response validation (CWE-292). When the DNS resolver receives an invalid packet during the resolution window, it fails to continue waiting for a valid response. This violates the expected behavior where invalid responses should be silently discarded while the resolver continues listening for legitimate replies within the configured timeout period.
The eventlet library, when used with dnspython for asynchronous DNS resolution, inherits this vulnerability. Applications using these libraries for DNS queries are susceptible to having their name resolution manipulated or disrupted by attackers capable of injecting packets on the network path.
Attack Vector
The attack is executed over the network and requires the attacker to send UDP packets that appear to originate from the expected DNS server. The attacker must:
- Monitor or predict when a target application will make a DNS query
- Quickly send an invalid DNS response packet from the expected source IP and port
- Ensure the invalid packet arrives before or instead of the legitimate response
The invalid packet causes the resolver to fail or return incorrect results, potentially leading to denial of service or enabling further attacks like DNS cache poisoning.
The TuDoor attack technique specifically targets the timing window between when a DNS query is sent and when a valid response is processed, making it a race condition vulnerability in practice.
Detection Methods for CVE-2023-29483
Indicators of Compromise
- Unusual DNS resolution failures or timeouts in applications using eventlet or dnspython
- Increased rate of malformed DNS response packets observed on the network
- DNS queries that resolve differently than expected or return unexpected errors
- Network traffic analysis showing duplicate or competing DNS responses
Detection Strategies
- Monitor DNS traffic for anomalous patterns such as multiple responses to single queries or responses with invalid formats
- Implement network-based detection for DNS response racing attacks using IDS/IPS rules
- Review application logs for unexpected DNS resolution errors or failures that may indicate interference
- Deploy packet capture analysis on critical DNS resolution paths to identify potential TuDoor attack attempts
Monitoring Recommendations
- Enable verbose logging in applications using eventlet or dnspython to capture DNS resolution details
- Implement network monitoring to detect unusual UDP traffic patterns targeting DNS ports
- Set up alerts for sudden increases in DNS resolution failures across applications
- Monitor for dependency versions in your software inventory to identify vulnerable installations
How to Mitigate CVE-2023-29483
Immediate Actions Required
- Upgrade eventlet to version 0.35.2 or later
- Upgrade dnspython to version 2.6.1 or later (note: version 2.6.0 has separate usability issues)
- Audit applications and dependencies for use of affected library versions
- Consider implementing DNS-over-HTTPS (DoH) or DNS-over-TLS (DoT) for critical applications
Patch Information
Security patches are available through the official releases:
- eventlet: Version 0.35.2 addresses this vulnerability. See the GitHub Release v0.35.2 for details.
- dnspython: Version 2.6.0 includes the fix, though users should upgrade to 2.6.1 due to unrelated issues in 2.6.0. See the GitHub Release v2.6.0.
Additional vendor advisories are available from Fedora and NetApp Security Advisory.
For tracking purposes, see GitHub Issue #913 for eventlet and GitHub Issue #1045 for dnspython.
Workarounds
- Implement network segmentation to limit exposure of DNS traffic to potential attackers
- Use DNSSEC validation where possible to detect tampered DNS responses
- Deploy DNS traffic through encrypted channels (DoH/DoT) to prevent packet injection
- Consider using alternative DNS resolver libraries that are not affected by this vulnerability
# Upgrade eventlet and dnspython using pip
pip install --upgrade eventlet>=0.35.2
pip install --upgrade dnspython>=2.6.1
# Verify installed versions
pip show eventlet | grep Version
pip show dnspython | grep Version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


