Description
Mailpit is an email testing tool and API for developers. Prior to version 1.30.0, the Mailpit SMTP server has a Server.MaxSize int field that controls the maximum allowed DATA payload size, but the field is never assigned anywhere outside test code, leaving it at Go's zero value (0 ⇒ "no limit"). The same applies to the HTTP /api/v1/send endpoint, whose request body is decoded with json.NewDecoder(r.Body) and no http.MaxBytesReader. Because Mailpit's default listeners bind [::]:1025 (SMTP) and [::]:8025 (HTTP), with no authentication required on either, a single network-reachable attacker can push an arbitrarily large message into Mailpit and watch RAM consumption spike with a ~7-10× amplification factor (raw frame → enmime envelope tree → search-text index → zstd-encoded write to SQLite). Repeating the attack — or running it concurrently from multiple connections — drives the process to OOM-kill. Version 1.30.0 contains a patch.
Published: 2026-07-20
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Mailpit is an email testing tool and API for developers. Prior to version 1.30.0 its SMTP server allowed unlimited DATA payloads because the Server.MaxSize field was left at the zero value, and the HTTP /api/v1/send endpoint decoded JSON bodies without a size limit. This represents a classic resource‑exhaustion flaw (CWE‑400) and a lack of bounds checking (CWE‑770), giving an attacker the ability to overload the application’s memory. The service binds openly on IPv6 [::]:1025 for SMTP and [::]:8025 for HTTP without authentication, so any machine that can reach those ports can initiate the attack. Each large message is expanded through several layers—raw frame to an enmime envelope tree, a search‑text index, and a ZSTD‑encoded SQLite write—causing memory usage to grow roughly 7‑10 times the payload size and ultimately leading to an out‑of‑memory kill of the process.

Affected Systems

All versions of Mailpit by vendor axllent prior to 1.30.0 are vulnerable. The default SMTP listener keeps the Server.MaxSize field at its zero value, and the HTTP endpoint decodes bodies without a size limit. The service binds openly on IPv6 [::]:1025 for SMTP and [::]:8025 for HTTP on both interfaces, so any machine that can reach those ports can exercise the flaw.

Risk and Exploitability

The CVSS score of 7.5 indicates high severity, while the EPSS score of < 1% suggests a low probability of exploitation at present. The vulnerability is not listed in the CISA KEV catalog. However, because the service requires no authentication and accepts arbitrarily large payloads, an attacker with network access to the default ports can send large messages repeatedly or concurrently, rapidly consuming RAM and causing the process to be terminated by the operating system.

Generated by OpenCVE AI on August 1, 2026 at 07:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Mailpit to version 1.30.0 or newer, which applies the size limits.
  • If an upgrade is not immediately possible, restrict inbound traffic to the SMTP and API ports to trusted IP addresses or place the service behind a firewall or reverse proxy that enforces a maximum request size.
  • As an additional safeguard, monitor the service's memory usage and implement OS‑level cgroup or Docker limits to bound memory consumption, preventing a single process from exhausting system resources.

Generated by OpenCVE AI on August 1, 2026 at 07:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fpxj-m5q8-fphw Mailpit: Unauthenticated remote memory-exhaustion DoS via unlimited SMTP DATA and /api/v1/send body sizes
History

Mon, 20 Jul 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Axllent
Axllent mailpit
Vendors & Products Axllent
Axllent mailpit

Mon, 20 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description Mailpit is an email testing tool and API for developers. Prior to version 1.30.0, the Mailpit SMTP server has a Server.MaxSize int field that controls the maximum allowed DATA payload size, but the field is never assigned anywhere outside test code, leaving it at Go's zero value (0 ⇒ "no limit"). The same applies to the HTTP /api/v1/send endpoint, whose request body is decoded with json.NewDecoder(r.Body) and no http.MaxBytesReader. Because Mailpit's default listeners bind [::]:1025 (SMTP) and [::]:8025 (HTTP), with no authentication required on either, a single network-reachable attacker can push an arbitrarily large message into Mailpit and watch RAM consumption spike with a ~7-10× amplification factor (raw frame → enmime envelope tree → search-text index → zstd-encoded write to SQLite). Repeating the attack — or running it concurrently from multiple connections — drives the process to OOM-kill. Version 1.30.0 contains a patch.
Title Mailpit: Unauthenticated remote memory-exhaustion DoS via unlimited SMTP DATA and /api/v1/send body sizes
Weaknesses CWE-400
CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T16:16:44.713Z

Reserved: 2026-05-13T05:51:48.665Z

Link: CVE-2026-45713

cve-icon Vulnrichment

Updated: 2026-07-20T16:15:45.501Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T07:30:13Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling