Skip to main content
← All vulnerabilities
CVE-2026-83813EUVD-2026-109152GHSA-JJ36-9PVH-VJ5R

Twisted: DNS Response Spoofing in twisted.names Due to Missing Source Address Validation

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 26.7.0rc1, 26.10.0rc1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

The Twisted networking framework for Python, specifically its twisted.names DNS component, is affected. An attacker can forge DNS responses that the software accepts without checking they came from the queried server, potentially redirecting hostname lookups to malicious destinations, intercepting email, or enabling man-in-the-middle attacks.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.names.dns.DNSDatagramProtocol accepts a UDP DNS response for a pending query when its 16-bit transaction ID matches but does not verify that the response came from the queried host and port. An attacker able to deliver a packet to the resolver's listening port with the correct transaction ID can inject a forged answer. The standard twisted.names.client.Resolver uses a new random source port for each query, increasing off-path attack complexity, while applications that reuse a DNSDatagramProtocol instance expose only the transaction-ID search space after the first query. A successful forgery can redirect hostname resolution and enable mail interception, server-side request forgery, or man-in-the-middle positioning. This issue is fixed in version 26.10.0rc1.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • twisted twisted

    fixed in 26.7.0rc1

  • twistedPyPI

    fixed in 26.10.0rc1

References 4

GitHub · twisted/twisted