Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Mailpit SMTP port (default 1025)
-
DeliveryComplete SMTP handshake (EHLO/MAIL FROM/RCPT TO/DATA)
-
ExploitTransmit single DATA line exceeding MaxMessageSize without newline
-
ExecutionReadBytes buffers full over-limit line in heap
-
PersistSize check fires post-allocation
-
ImpactRepeat concurrently to amplify memory pressure
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | SMTP must be enabled (it is on by default in Mailpit). The attacker must be able to reach the SMTP listener port (default 1025) - no authentication is required (confirmed by CVSS PR:N). The attack requires sending a single SMTP DATA line exceeding the configured MaxMessageSize (default 50 MiB) without an intermediate newline character, so the Go runtime buffers the full line via ReadBytes before the size check fires. No special non-default configuration is needed beyond network reachability to the SMTP port. Exploitation is limited in practice by Mailpit's typical deployment profile: it is designed for local development and CI environments where the SMTP port is bound to localhost or a private LAN, making external attacker reach uncommon. Concurrent connection capability amplifies impact but is not required for a single exploitation event. |
| Impact | The CVSS 3.1 base score of 5.3 (Medium) accurately reflects the constrained impact: network-reachable, no authentication, no complexity, but limited availability impact (A:L) with no confidentiality or integrity consequence. EPSS data was not provided in the input, so exploitation probability cannot be quantified from that signal. The vulnerability is not listed in CISA KEV, indicating no confirmed active exploitation at time of analysis. A proof-of-concept is embedded in the GitHub advisory (GHSA-r553-m4fv-5v97), meaning exploit reproduction is trivial for any party reading the advisory. Real-world risk is moderated significantly by deployment context: Mailpit is a developer-oriented testing tool with SMTP typically bound to localhost or a private network - internet-facing exposure is non-default and uncommon. Concurrent oversized connections can amplify memory pressure beyond a single-request impact, but the A:L designation remains appropriate absent evidence of complete OOM-triggered crashes. The risk priority should be elevated for any deployment where the SMTP port (typically 1025) is reachable from untrusted hosts. |
| Exploit ScenarioDerived | An attacker with network access to Mailpit's SMTP port completes a standard SMTP handshake (EHLO, MAIL FROM, RCPT TO, DATA) and then transmits a single DATA payload line of 64 MiB or more without an embedded newline, causing Mailpit to allocate the full oversized buffer before returning the 552 5.3.4 rejection. A proof-of-concept is included in GHSA-r553-m4fv-5v97 demonstrating measurable RSS growth via this technique. An attacker opening multiple concurrent connections with oversized single-line DATA segments can compound memory pressure, potentially impacting the availability of the Mailpit instance. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Memory exhaustion in Mailpit's SMTP server (versions 1.30.0 through 1.30.4) allows unauthenticated remote SMTP clients to force heap allocation beyond the configured MaxMessageSize limit by transmitting a single DATA line exceeding the cap - because bufio.Reader.ReadBytes('\n') buffers the entire line into memory before the size check is applied. This is a post-fix incomplete remediation of an earlier SMTP body-size advisory: multi-line DATA accumulation was bounded, but single-line pre-read was not, leaving a residual gap in versions 1.30.0-1.30.4. A proof-of-concept demonstrating a 64 MiB single-line RSS spike is included in the GitHub security advisory; no active exploitation has been confirmed (not listed in CISA KEV).
RemediationAI
Upgrade to Mailpit v1.30.5, which is confirmed by the official GitHub release tag at https://github.com/axllent/mailpit/releases/tag/v1.30.5. The fix (commit 8720c6bd8281fc00d458081908f1dbef8e59a98c) replaces the single ReadBytes('\n') call with a ReadSlice('\n') loop that enforces MaxSize incrementally on each buffer fill, preventing over-limit heap allocation before rejection. For deployments unable to upgrade immediately, restrict network access to the Mailpit SMTP port (default 1025) to trusted source addresses only using firewall rules or network segmentation - this directly removes unauthenticated attacker reach and eliminates the attack surface with no functional trade-off for typical local/CI development use cases. Alternatively, if SMTP reception is not required, disable the SMTP listener in Mailpit's configuration. Do not rely solely on MaxMessageSize configuration as a control, since this is precisely the enforcement logic that is bypassed by the vulnerability.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mailpit is a Go-based email testing tool that ships a built-in SMTP server enabled by default. The vulnerable code path is in internal/smtpd/smtpd.go within the readData() function. Go's bufio.Reader.ReadBytes('\n') reads all bytes up to and including a newline terminator into a heap-allocated slice before returning - meaning the entire over-limit line is materialized in memory prior to any enforcement logic. The size guard if len(data)+len(line) > s.srv.MaxSize runs only after that allocation completes, violating the intended invariant. CPE cpe:2.3:a:axllent:mailpit:*:*:*:*:*:*:*:* covers the affected range (>= 1.30.0, < 1.30.5). CWE-770 (Allocation of Resources Without Limits or Throttling) precisely characterizes the root cause: the resource (heap memory for a single line buffer) is allocated without a prior bound check, allowing exhaustion under attacker control. The commit fix (8720c6b) replaces ReadBytes('\n') with a ReadSlice('\n') loop that enforces MaxSize incrementally on each buffer-fill fragment before continuing to read.
Know when Mailpit gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
SMTP port is network-accessible with no authentication; memory pressure impact is limited (A:L), not a confirmed crash, with zero confidentiality or integrity consequence.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Mailpit is an email testing tool and API for developers. From 1.30.0 until 1.30.5, Mailpit's internal/smtpd/smtpd.go readData() function calls bufio.Reader.ReadBytes before applying the len(data)+len(line) size check to the completed SMTP DATA line against Server.MaxSize. An unauthenticated SMTP client can send a single line larger than the configured MaxMessageSize, causing the full line to be allocated before Mailpit returns the 552 5.3.4 rejection. This post-fix gap remains after normal multi-line DATA accumulation was bounded, and concurrent oversized lines can create substantial memory pressure beyond the configured message-size cap. This issue is fixed in version 1.30.5.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Mailpit versions up to 1.28.2 contains a vulnerability that allows attackers to intercept sensitive data such as email c
Mailpit versions 1.28.0 and earlier contain a server-side request forgery vulnerability in the /proxy endpoint that perm
Mailpit versions prior to 1.29.2 contain a Server-Side Request Forgery vulnerability in the Link Check API that allows u
Mailpit versions before 1.28.3 contain a server-side request forgery vulnerability in the HTML Check feature that allows
Header injection in Mailpit's SMTP server prior to version 1.28.3 allows unauthenticated remote attackers to inject or m
Cross-site WebSocket hijacking in Mailpit 1.29.0-1.30.5 exposes live email metadata to any website the developer visits,
EUVD-2026-63664
GHSA-r553-m4fv-5v97
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB