{"api_version":"1","generated_at":"2026-10-23T23:41:12+00:00","cve":"CVE-2026-115774","urls":{"html":"https://cve.report/CVE-2026-115774","api":"https://cve.report/api/cve/CVE-2026-115774.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-115774","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-115774"},"summary":{"title":"Twisted: Denial of Service in the Twisted IMAP4 Server via a Negative Literal Size in SEARCH","description":"Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.mail.imap4.IMAP4Server reaches twisted.mail.imap4.parseNestedParens with a negative literal size in an authenticated SEARCH command after the client enters the selected mailbox state. The negative size moves the parser cursor below zero, and Python's negative indexing prevents the synchronous scanning loop from terminating. The loop freezes the single-threaded reactor, stopping other IMAP connections and any SMTP or POP3 services hosted in the same process until restart. This issue is fixed in version 26.10.0rc1.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-23 21:17:22","updated_at":"2026-10-23 21:17:22"},"problem_types":["CWE-400","CWE-835","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-835 CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"4.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H","baseScore":4.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"HIGH","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"4.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":4.9,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/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/security/advisories/GHSA-2qrf-pqgx-qh9v","name":"https://github.com/twisted/twisted/security/advisories/GHSA-2qrf-pqgx-qh9v","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/pull/12764","name":"https://github.com/twisted/twisted/pull/12764","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/twisted/twisted/commit/3d125548bcbe955007cb97f480bb699a5e074741","name":"https://github.com/twisted/twisted/commit/3d125548bcbe955007cb97f480bb699a5e074741","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-115774","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115774","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":{"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.mail.imap4.IMAP4Server reaches twisted.mail.imap4.parseNestedParens with a negative literal size in an authenticated SEARCH command after the client enters the selected mailbox state. The negative size moves the parser cursor below zero, and Python's negative indexing prevents the synchronous scanning loop from terminating. The loop freezes the single-threaded reactor, stopping other IMAP connections and any SMTP or POP3 services hosted in the same process until restart. This issue is fixed in version 26.10.0rc1."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":4.9,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"HIGH","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/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-835","description":"CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-23T20:14:07.480Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/twisted/twisted/security/advisories/GHSA-2qrf-pqgx-qh9v","tags":["x_refsource_CONFIRM"],"url":"https://github.com/twisted/twisted/security/advisories/GHSA-2qrf-pqgx-qh9v"},{"name":"https://github.com/twisted/twisted/pull/12764","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/pull/12764"},{"name":"https://github.com/twisted/twisted/commit/3d125548bcbe955007cb97f480bb699a5e074741","tags":["x_refsource_MISC"],"url":"https://github.com/twisted/twisted/commit/3d125548bcbe955007cb97f480bb699a5e074741"},{"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-2qrf-pqgx-qh9v","discovery":"UNKNOWN"},"title":"Twisted: Denial of Service in the Twisted IMAP4 Server via a Negative Literal Size in SEARCH"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-115774","datePublished":"2026-10-23T20:14:07.480Z","dateReserved":"2026-10-23T13:28:51.847Z","dateUpdated":"2026-10-23T20:14:07.480Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 21:17:22","lastModifiedDate":"2026-10-23 21:17:22","problem_types":["CWE-400","CWE-835","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-835 CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H","baseScore":4.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"HIGH","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":1.2,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"115774","Ordinal":"1","Title":"Twisted: Denial of Service in the Twisted IMAP4 Server via a Neg","CVE":"CVE-2026-115774","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"115774","Ordinal":"1","NoteData":"Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.mail.imap4.IMAP4Server reaches twisted.mail.imap4.parseNestedParens with a negative literal size in an authenticated SEARCH command after the client enters the selected mailbox state. The negative size moves the parser cursor below zero, and Python's negative indexing prevents the synchronous scanning loop from terminating. The loop freezes the single-threaded reactor, stopping other IMAP connections and any SMTP or POP3 services hosted in the same process until restart. This issue is fixed in version 26.10.0rc1.","Type":"Description","Title":"Twisted: Denial of Service in the Twisted IMAP4 Server via a Neg"}]}}}