<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 29 Oct 2026 09:26:48 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-83813</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-83813</link>
      <description>&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-83813</guid>
    </item>
    <item>
      <title>GHSA-jj36-9pvh-vj5r — Twisted: DNS Response Spoofing in twisted.names Due to Missing Source Address Validation</title>
      <link>https://db.gcve.eu/vuln/ghsa-jj36-9pvh-vj5r</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: Twisted&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`twisted.names.dns.DNSDatagramProtocol`, the UDP transport used by twisted&amp;#39;s DNS client (`twisted.names.client.Resolver`, `createResolver`, and anything built on it, including MX lookups in `twisted.mail`), accepts a DNS response for a pending query solely on the basis of the 16-bit transaction ID matching. It never checks that the response actually originated from the server the query was sent to. Any host that can deliver a UDP packet to the resolver&amp;#39;s listening port with the correct transaction ID can inject a forged answer, independent of the real server&amp;#39;s address. This is a materially weaker defense than standard DNS resolver practice (transaction ID plus source-address validation, typically also source-port rotation), and enables off-path DNS response spoofing / cache poisoning.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`DNSDatagramProtocol.datagramReceived` (`src/twisted/names/dns.py`, line 3350) is:&lt;/p&gt;
&lt;p&gt;```python
def datagramReceived(self, data, addr):
    &amp;#34;&amp;#34;&amp;#34;
    Read a datagram, extract the message in it and trigger the associated
    Deferred.
    &amp;#34;&amp;#34;&amp;#34;
    m = Message()
    try:
        m.fromStr(data)
    except EOFError:
        ...
    except ValueError as ex:
        ...
    except BaseException:
        ...&lt;/p&gt;
&lt;p&gt;if m.id in self.liveMessages:
        d, canceller = self.liveMessages[m.id]
        del self.liveMessages[m.id]
        canceller.cancel()
        try:
            d.callback(m)
        except BaseException:
            log.err()
    else:
        if m.id not in self.r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: Twisted&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`twisted.names.dns.DNSDatagramProtocol`, the UDP transport used by twisted&amp;#39;s DNS client (`twisted.names.client.Resolver`, `createResolver`, and anything built on it, including MX lookups in `twisted.mail`), accepts a DNS response for a pending query solely on the basis of the 16-bit transaction ID matching. It never checks that the response actually originated from the server the query was sent to. Any host that can deliver a UDP packet to the resolver&amp;#39;s listening port with the correct transaction ID can inject a forged answer, independent of the real server&amp;#39;s address. This is a materially weaker defense than standard DNS resolver practice (transaction ID plus source-address validation, typically also source-port rotation), and enables off-path DNS response spoofing / cache poisoning.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`DNSDatagramProtocol.datagramReceived` (`src/twisted/names/dns.py`, line 3350) is:&lt;/p&gt;
&lt;p&gt;```python
def datagramReceived(self, data, addr):
    &amp;#34;&amp;#34;&amp;#34;
    Read a datagram, extract the message in it and trigger the associated
    Deferred.
    &amp;#34;&amp;#34;&amp;#34;
    m = Message()
    try:
        m.fromStr(data)
    except EOFError:
        ...
    except ValueError as ex:
        ...
    except BaseException:
        ...&lt;/p&gt;
&lt;p&gt;if m.id in self.liveMessages:
        d, canceller = self.liveMessages[m.id]
        del self.liveMessages[m.id]
        canceller.cancel()
        try:
            d.callback(m)
        except BaseException:
            log.err()
    else:
        if m.id not in self.r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-jj36-9pvh-vj5r</guid>
    </item>
    <item>
      <title>msrc_CVE-2026-83813 — Twisted: DNS Response Spoofing in twisted.names Due to Missing Source Address Validation</title>
      <link>https://db.gcve.eu/vuln/msrc_cve-2026-83813</link>
      <description>msrc_CVE-2026-83813</description>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/msrc_cve-2026-83813</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-83813</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-83813</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:Pro:14.04:LTS: twisted, Ubuntu:Pro:16.04:LTS: twisted, Ubuntu:Pro:18.04:LTS: twisted, Ubuntu:20.04:LTS: twisted, Ubuntu:22.04:LTS: twisted, Ubuntu:24.04:LTS: twisted, Ubuntu:26.10: twisted, Ubuntu:26.04:LTS: twisted&lt;/p&gt;
&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:Pro:14.04:LTS: twisted, Ubuntu:Pro:16.04:LTS: twisted, Ubuntu:Pro:18.04:LTS: twisted, Ubuntu:20.04:LTS: twisted, Ubuntu:22.04:LTS: twisted, Ubuntu:24.04:LTS: twisted, Ubuntu:26.10: twisted, Ubuntu:26.04:LTS: twisted&lt;/p&gt;
&lt;p&gt;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&amp;#39;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-83813</guid>
    </item>
  </channel>
</rss>
