{"id":"PYSEC-2026-3832","summary":"eml_parser vulnerable to DoS via deeply nested parens in Received headers","details":"### Summary\n\n`eml_parser` strips parenthesised CFWS comments from `Received:` headers using a regex-based fix-point loop. The loop has quadratic time complexity in the number of nested parens. A single `Received:` header containing 5,000 nested parens causes ~1.3 seconds of CPU saturation per parsed message; runtime quadruples per doubling of nesting depth.\n\n### Impact\n\nThis represents a CPU exhaustion DoS in any pipeline that processes attacker-supplied EML files. An attacker can create relatively small EML files that will take multiple seconds to parse.\n\nThis is particularly problematic for synchronous email-processing pipelines (gateways, sandboxes, real-time triage) where worker latency directly translates to queue backpressure and possible service-level outages.\n\n### Patches\n\nSince version 3.0.2, `eml_parser` uses a linear-time algorithm to remove the comments from `Received:` headers.","aliases":["CVE-2026-55620","GHSA-g7gc-gmgp-wgqg"],"modified":"2026-09-10T12:15:03.992599275Z","published":"2026-09-10T09:44:56.755416Z","references":[{"type":"WEB","url":"https://github.com/GOVCERT-LU/eml_parser/security/advisories/GHSA-g7gc-gmgp-wgqg"},{"type":"WEB","url":"https://github.com/GOVCERT-LU/eml_parser/pull/90"},{"type":"WEB","url":"https://github.com/GOVCERT-LU/eml_parser/commit/746a69f86443eb0b6a47f77db3cfe727c21f92b3"},{"type":"PACKAGE","url":"https://github.com/GOVCERT-LU/eml_parser"},{"type":"WEB","url":"https://github.com/GOVCERT-LU/eml_parser/releases/tag/v3.0.2"},{"type":"PACKAGE","url":"https://pypi.org/project/eml-parser"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-g7gc-gmgp-wgqg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55620"}],"affected":[{"package":{"name":"eml-parser","ecosystem":"PyPI","purl":"pkg:pypi/eml-parser"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.0.2"}]}],"versions":["0.9","1.0","1.1","1.10","1.11","1.11.1","1.11.2","1.11.4","1.11.5","1.11.6","1.11.7","1.12.0","1.13.0","1.14.0","1.14.1","1.14.2","1.14.3","1.14.4","1.14.5","1.14.6","1.14.7","1.14.8","1.15.0","1.16.0","1.17.0","1.17.1","1.17.2","1.17.3","1.17.4","1.17.5","1.3","1.4","1.5","1.6","1.7","1.8","1.9","2.0.0","2.0.1","3.0.0","3.0.1"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/eml-parser/PYSEC-2026-3832.yaml"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}