CVE-2026-55620
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk29th percentile - higher than 29% of all known CVEs
Summary
eml_parser before version 3.0.2 has a quadratic-time regex-based loop in the noparenthesis function when processing Received: headers with nested parentheses. A single header with 5000 nested parentheses causes about 1.3 seconds of CPU saturation per message, and doubling the nesting depth quadruples the running time. Attackers can submit small EML files that consume multiple seconds of processing time, causing latency and potential outages.
Risk Assessment
The risk includes denial-of-service attacks via specially crafted EML files, potentially leading to system overload and service disruption.
Recommendation
Upgrade eml_parser to version 3.0.2 or later, and implement limits on message size and complexity.
Other vulnerabilities in eml_parser
See all- CVE-2026-55619Medium
eml_parser before version 3.0.2 contains a stack overflow vulnerability in the header_fetch_parse function when parsing nested CFWS constructs in email headers. An attacker can send a specially crafted EML file that causes an unhandled RecursionError and aborts parsing of the entire message. This can disrupt SOC pipelines processing untrusted EML files.
- CVE-2026-55618Medium
eml_parser before version 3.0.2 contains a vulnerability in the clean_found_uri function that incorrectly validates URLs before unescaping HTML entities for colon, slash, or period characters. As a result, valid encoded URLs and their hostnames are rejected and omitted from extracted URL and domain lists. Email security gateways and SOC pipelines using these lists as indicators of compromise may fail to submit hidden URLs to threat intelligence feeds, reputation services, or sandboxes, allowing malicious links to bypass inspection.
- CVE-2026-44844Medium
In eml_parser before version 3.0.1, the EmlParser.get_raw_body_text() function recursively processes nested message/rfc822 attachments without any depth limit. An attacker can supply a crafted EML file with approximately 120 nested parts, causing an unhandled RecursionError and aborting parsing.
Original NVD description (English source)
eml_parser serves as a python module for parsing eml files and returning various information found in the e-mail as well as computed information. Prior to 3.0.2, eml_parser.routing.noparenthesis in eml_parser/routing.py removes parenthesized CFWS comments from Received: headers with a regex-based fix-point loop whose running time is quadratic in the nesting depth. A single Received: header with 5,000 nested parentheses causes approximately 1.3 seconds of CPU saturation per parsed message, and doubling the nesting depth approximately quadruples the running time. An attacker can submit relatively small EML files that consume multiple seconds of processing time, causing worker latency, queue backpressure, and possible service-level outages in synchronous gateways, sandboxes, and real-time triage pipelines. This issue is fixed in version 3.0.2.

