{"api_version":"1","generated_at":"2026-10-23T23:40:46+00:00","cve":"CVE-2026-115778","urls":{"html":"https://cve.report/CVE-2026-115778","api":"https://cve.report/api/cve/CVE-2026-115778.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-115778","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-115778"},"summary":{"title":"Twisted: Unauthenticated Remote Denial of Service in the Twisted conch Telnet Transport via an Unbounded Subnegotiation Buffer","description":"Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.conch.telnet.Telnet.dataReceived appends every byte received after IAC SB to a persistent subnegotiation buffer until IAC SE is received, without applying a maximum length. Telnet option negotiation occurs before authentication, so an unauthenticated peer can omit the terminator and continuously grow the buffer. The resulting memory exhaustion can terminate the process and every service it hosts. This issue is fixed in version 26.10.0rc1.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-23 21:17:23","updated_at":"2026-10-23 21:17:23"},"problem_types":["CWE-400","CWE-770","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-770 CWE-770: Allocation of Resources Without Limits or Throttling"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1","name":"https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/pull/12750","name":"https://github.com/twisted/twisted/pull/12750","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/security/advisories/GHSA-cwm5-jh59-mwxr","name":"https://github.com/twisted/twisted/security/advisories/GHSA-cwm5-jh59-mwxr","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/commit/073ba878c6c07d569cb61abc5ae76d46eff1b529","name":"https://github.com/twisted/twisted/commit/073ba878c6c07d569cb61abc5ae76d46eff1b529","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/commit/5d91cc66a3591faba758a80a1479e0103602facc","name":"https://github.com/twisted/twisted/commit/5d91cc66a3591faba758a80a1479e0103602facc","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-115778","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115778","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"twisted","product":"twisted","version":"affected < 26.10.0rc1","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-115778","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-23T20:52:21.538071Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-23T20:55:34.866Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"twisted","vendor":"twisted","versions":[{"status":"affected","version":"< 26.10.0rc1"}]}],"descriptions":[{"lang":"en","value":"Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.conch.telnet.Telnet.dataReceived appends every byte received after IAC SB to a persistent subnegotiation buffer until IAC SE is received, without applying a maximum length. Telnet option negotiation occurs before authentication, so an unauthenticated peer can omit the terminator and continuously grow the buffer. The resulting memory exhaustion can terminate the process and every service it hosts. This issue is fixed in version 26.10.0rc1."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","description":"CWE-400: Uncontrolled Resource Consumption","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-770","description":"CWE-770: Allocation of Resources Without Limits or Throttling","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-23T20:20:34.591Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/twisted/twisted/security/advisories/GHSA-cwm5-jh59-mwxr","tags":["x_refsource_CONFIRM"],"url":"https://github.com/twisted/twisted/security/advisories/GHSA-cwm5-jh59-mwxr"},{"name":"https://github.com/twisted/twisted/pull/12750","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/pull/12750"},{"name":"https://github.com/twisted/twisted/commit/073ba878c6c07d569cb61abc5ae76d46eff1b529","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/commit/073ba878c6c07d569cb61abc5ae76d46eff1b529"},{"name":"https://github.com/twisted/twisted/commit/5d91cc66a3591faba758a80a1479e0103602facc","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/commit/5d91cc66a3591faba758a80a1479e0103602facc"},{"name":"https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/releases/tag/twisted-26.10.0rc1"}],"source":{"advisory":"GHSA-cwm5-jh59-mwxr","discovery":"UNKNOWN"},"title":"Twisted: Unauthenticated Remote Denial of Service in the Twisted conch Telnet Transport via an Unbounded Subnegotiation Buffer"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-115778","datePublished":"2026-10-23T20:20:34.591Z","dateReserved":"2026-10-23T13:28:51.847Z","dateUpdated":"2026-10-23T20:55:34.866Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 21:17:23","lastModifiedDate":"2026-10-23 21:17:23","problem_types":["CWE-400","CWE-770","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-770 CWE-770: Allocation of Resources Without Limits or Throttling"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-23T20:52:21.538071Z","id":"CVE-2026-115778","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"115778","Ordinal":"1","Title":"Twisted: Unauthenticated Remote Denial of Service in the Twisted","CVE":"CVE-2026-115778","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"115778","Ordinal":"1","NoteData":"Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.conch.telnet.Telnet.dataReceived appends every byte received after IAC SB to a persistent subnegotiation buffer until IAC SE is received, without applying a maximum length. Telnet option negotiation occurs before authentication, so an unauthenticated peer can omit the terminator and continuously grow the buffer. The resulting memory exhaustion can terminate the process and every service it hosts. This issue is fixed in version 26.10.0rc1.","Type":"Description","Title":"Twisted: Unauthenticated Remote Denial of Service in the Twisted"}]}}}