HIGH🇬🇧 English

CVE-2026-45713

Mailpit SMTP/HTTP – brak limitu rozmiaru wiadomości prowadzi do wyczerpania pamięci (DoS)

CVSS 7.5v3.1pub. 2026-07-20upd. 2026-07-28

Podatność w narzędziu Mailpit (wersje przed 1.30.0) umożliwia nieuwierzytelnionemu atakującemu wywołanie odmowy usługi (DoS) poprzez przesłanie arbitralnie dużej wiadomości e-mail przez SMTP lub endpoint HTTP API. Brak limitu rozmiaru danych powoduje gwałtowny wzrost zużycia pamięci RAM i finalnie zakończenie procesu przez system operacyjny (OOM-kill).

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Pole Server.MaxSize kontrolujące maksymalny rozmiar payloadu DATA w serwerze SMTP nigdy nie jest inicjalizowane poza kodem testowym, co oznacza, że przyjmuje domyślną wartość zero w języku Go, interpretowaną jako brak limitu. Analogicznie, endpoint HTTP /api/v1/send dekoduje treść żądania za pomocą json.NewDecoder(r.Body) bez zastosowania http.MaxBytesReader, co również nie ogranicza rozmiaru danych. Domyślne listenery Mailpit działają na portach 1025 (SMTP) i 8025 (HTTP) bez wymogu uwierzytelnienia, więc każdy atakujący osiągalny sieciowo może przesłać arbitralnie duże wiadomości. Przetwarzanie pojedynczej wiadomości generuje wielokrotne (około 7–10×) amplifikacje zużycia pamięci: od surowej ramki, przez drzewo obiektów enmime, indeks tekstowy do przeszukiwania, aż po zapis zakodowany zstd do SQLite. Wielokrotne lub współbieżne wywołania ataku doprowadzają do OOM-kill procesu.

Skutki

Atakujący może spowodować całkowite wyczerpanie pamięci RAM serwera i wymuszony przez system operacyjny restart procesu Mailpit, co skutkuje niedostępnością usługi (DoS). Podatność nie umożliwia naruszenia poufności ani integralności danych.

Mitygacja

Należy zaktualizować Mailpit do wersji 1.30.0, która zawiera patch eliminujący podatność. Dodatkowo zaleca się ograniczenie dostępu sieciowego do portów 1025 (SMTP) i 8025 (HTTP) wyłącznie do zaufanych hostów za pomocą firewalla lub reguł sieciowych.

Kogo dotyczy

Axllent Mailpit w wersjach przed 1.30.0

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Axllent Mailpit

    APP
    Axllent
    < 1.30.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-45709MEDIUM5.8ten sam produkt

Mailpit jest narzędziem testowania poczty e-mail i API dla deweloperów. Poprawka dla CVE-2026-23845 (SSRF popr...

CVE-2026-48824MEDIUM5.3ten sam produkt

Mailpit to narzędzie testowania poczty e-mail dla developerów. Przed wersją 1.30.1 poprawka poprzedniego waria...

CVE-2026-45712MEDIUM5.9ten sam produkt

Mailpit to narzędzie do testowania poczty e-mail i API dla deweloperów. Przed wersją 1.30.0 proxy screenshot/p...

CVE-2026-45711MEDIUM5.9ten sam produkt

Mailpit to narzędzie testowania poczty elektronicznej i API dla deweloperów. Przed wersją 1.30.0 podkomenda ma...

CVE-2026-27808MEDIUM5.8ten sam produkt

Mailpit to narzędzie testowania poczty e-mail i API dla deweloperów. Przed wersją 1.29.2 Link Check API (/api/...