UBUNTU-CVE-2026-83813 (CVE-2026-83813)
Vulnerability from osv_ubuntu – Published: 2026-10-23 21:17 – Updated: 2026-10-28 17:43 – Source websiteTwisted 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.
{
"affected": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-twisted",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-bin",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-conch",
"binary_version": "1:13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-core",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-lore",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-mail",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-names",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-news",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-runner",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-web",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
},
{
"binary_name": "python-twisted-words",
"binary_version": "13.2.0-1ubuntu1.2+esm3"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:14.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@13.2.0-1ubuntu1.2+esm3?arch=source\u0026distro=esm-infra-legacy/trusty"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"13.0.0-1ubuntu1",
"13.2.0-1ubuntu1",
"13.2.0-1ubuntu1.2",
"13.2.0-1ubuntu1.2+esm1",
"13.2.0-1ubuntu1.2+esm2",
"13.2.0-1ubuntu1.2+esm3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-twisted",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-bin",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-conch",
"binary_version": "1:16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-core",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-mail",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-names",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-news",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-runner",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-web",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python-twisted-words",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
},
{
"binary_name": "python3-twisted",
"binary_version": "16.0.0-1ubuntu0.4+esm2"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:16.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@16.0.0-1ubuntu0.4+esm2?arch=source\u0026distro=esm-infra/xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"15.2.1-1ubuntu2",
"15.5.0-1",
"15.5.0-2",
"15.5.0-2ubuntu1",
"15.5.0-4",
"16.0.0~pre1-1",
"16.0.0~pre1-1ubuntu1",
"16.0.0~pre1-2ubuntu1",
"16.0.0~pre1-3",
"16.0.0-1",
"16.0.0-1ubuntu0.2",
"16.0.0-1ubuntu0.4",
"16.0.0-1ubuntu0.4+esm1",
"16.0.0-1ubuntu0.4+esm2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-twisted",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-bin",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-conch",
"binary_version": "1:17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-core",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-mail",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-names",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-news",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-runner",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-web",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python-twisted-words",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python3-twisted",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
},
{
"binary_name": "python3-twisted-bin",
"binary_version": "17.9.0-2ubuntu0.3+esm2"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:18.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@17.9.0-2ubuntu0.3+esm2?arch=source\u0026distro=esm-infra/bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"16.6.0-2ubuntu3",
"17.9.0-1",
"17.9.0-2",
"17.9.0-2ubuntu0.1",
"17.9.0-2ubuntu0.3",
"17.9.0-2ubuntu0.3+esm1",
"17.9.0-2ubuntu0.3+esm2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-twisted",
"binary_version": "18.9.0-11ubuntu0.20.04.5"
},
{
"binary_name": "python3-twisted-bin",
"binary_version": "18.9.0-11ubuntu0.20.04.5"
}
]
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@18.9.0-11ubuntu0.20.04.5?arch=source\u0026distro=focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"18.9.0-3ubuntu1",
"18.9.0-5",
"18.9.0-6",
"18.9.0-6build1",
"18.9.0-6ubuntu1",
"18.9.0-8",
"18.9.0-11",
"18.9.0-11ubuntu0.20.04.1",
"18.9.0-11ubuntu0.20.04.2",
"18.9.0-11ubuntu0.20.04.3",
"18.9.0-11ubuntu0.20.04.4",
"18.9.0-11ubuntu0.20.04.5"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-twisted",
"binary_version": "22.1.0-2ubuntu2.7"
}
]
},
"package": {
"ecosystem": "Ubuntu:22.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@22.1.0-2ubuntu2.7?arch=source\u0026distro=jammy"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"20.3.0-7ubuntu1",
"20.3.0-7ubuntu3",
"22.1.0-2ubuntu2",
"22.1.0-2ubuntu2.1",
"22.1.0-2ubuntu2.3",
"22.1.0-2ubuntu2.4",
"22.1.0-2ubuntu2.5",
"22.1.0-2ubuntu2.6",
"22.1.0-2ubuntu2.7"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-twisted",
"binary_version": "24.3.0-1ubuntu0.2"
}
]
},
"package": {
"ecosystem": "Ubuntu:24.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@24.3.0-1ubuntu0.2?arch=source\u0026distro=noble"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"22.4.0-4",
"22.4.0-4ubuntu1",
"23.10.0-2",
"24.3.0-1",
"24.3.0-1ubuntu0.1",
"24.3.0-1ubuntu0.2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-twisted",
"binary_version": "26.4.0-4"
}
]
},
"package": {
"ecosystem": "Ubuntu:26.10",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@26.4.0-4?arch=source\u0026distro=stonking"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"25.5.0-5",
"26.4.0-4"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-twisted",
"binary_version": "25.5.0-5ubuntu0.1"
}
]
},
"package": {
"ecosystem": "Ubuntu:26.04:LTS",
"name": "twisted",
"purl": "pkg:deb/ubuntu/twisted@25.5.0-5ubuntu0.1?arch=source\u0026distro=resolute"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"24.11.0-1",
"25.5.0-4",
"25.5.0-5",
"25.5.0-5ubuntu0.1"
]
}
],
"aliases": [],
"details": "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\u0027s 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.",
"id": "UBUNTU-CVE-2026-83813",
"modified": "2026-10-28T17:43:53Z",
"published": "2026-10-23T21:17:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2026-83813"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-83813"
},
{
"type": "REPORT",
"url": "https://github.com/twisted/twisted/commit/b53e1c3477c209b5609a1c74cf9e48373b5879ac"
},
{
"type": "REPORT",
"url": "https://github.com/twisted/twisted/pull/12700"
},
{
"type": "REPORT",
"url": "https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1"
},
{
"type": "REPORT",
"url": "https://github.com/twisted/twisted/security/advisories/GHSA-jj36-9pvh-vj5r"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2026-83813"
]
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.