CVE-2026-67448
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Mailpit to narzędzie do testowania poczty i API dla programistów. Od wersji 1.29.0 do 1.30.6, oprogramowanie pośredniczące origin w server/server.go sprawdza surowy RequestURI pod kątem prefiksu /api/, podczas gdy Go ServeMux routuje używając ścieżki URL zdekodowanej procentowo, a server/websockets/client.go konfiguruje websocket.Upgrader.CheckOrigin na zwracanie true. Złośliwa strona może zażądać /%61pi/events, pominąć corsOriginAccessControl(), dotrzeć do handlera WebSocket /api/events i otrzymać identyfikatory wiadomości na żywo, wartości Message-Id, pola nadawcy i odbiorcy, tematy, tagi i fragmenty treści z nieuwierzytelnionej domyślnej instancji Mailpit po odwiedzeniu strony przez użytkownika. Jest to regresja wcześniejszej ochrony pochodzenia WebSocket i nie dotyczy wdrożeń chronionych przez --ui-auth-file. Problem został naprawiony w wersji 1.30.6.
Ocena ryzyka
Atakujący może uzyskać dostęp do poufnych danych e-mail (takich jak treść, nadawcy, odbiorcy) z instancji Mailpit, co może prowadzić do wycieku informacji.
Rekomendacja
Zaktualizuj Mailpit do wersji 1.30.6 lub nowszej i rozważ włączenie uwierzytelniania UI (--ui-auth-file).
Inne podatności w Mailpit
Zobacz wszystkie- CVE-2026-67447Średnie
Mailpit to narzędzie do testowania poczty i API dla programistów. Od wersji 1.30.0 do 1.30.5, funkcja readData() w internal/smtpd/smtpd.go wywołuje bufio.Reader.ReadBytes przed zastosowaniem kontroli rozmiaru len(data)+len(line) dla ukończonej linii SMTP DATA względem Server.MaxSize. Nieuwierzytelniony klient SMTP może wysłać pojedynczą linię większą niż skonfigurowany MaxMessageSize, co powoduje alokację całej linii zanim Mailpit zwróci odrzucenie 552 5.3.4. Ta luka po poprawce pozostaje po ograniczeniu normalnego wieloliniowego gromadzenia danych, a równoczesne zbyt duże linie mogą stworzyć znaczną presję na pamięć przekraczającą skonfigurowany limit rozmiaru wiadomości. Problem został naprawiony w wersji 1.30.5.
- CVE-2026-67446Średnie
W Mailpit przed wersją 1.30.4, endpoint GET /api/v1/message/{id}/part/{partID}/thumb dekoduje załączniki obrazów do pełnej rastry przed sprawdzeniem wymiarów, liczby pikseli lub użycia pamięci. Kompaktowy obraz z bardzo dużymi wymiarami może zużywać nieproporcjonalnie dużo pamięci i CPU, co może prowadzić do degradacji dostępności usługi.
- CVE-2026-67445Średnie
W Mailpit przed wersją 1.30.4, czytnik poleceń SMTP alokuje pełną linię poleceń przed sprawdzeniem limitu 512 oktetów. Nieuwierzytelniony zdalny klient SMTP może wysłać bardzo długą pojedynczą linię, co może prowadzić do nadmiernego zużycia pamięci i zmniejszenia dostępności usługi.
- CVE-2026-48824Średnie
Mailpit przed wersją 1.30.1 zawiera podatność DoS w czterech endpointach API JSON, gdzie nie ma ograniczenia rozmiaru ciała żądania, co pozwala nieuwierzytelnionemu atakującemu na zdalne spowodowanie znacznego wzrostu zużycia pamięci.
- CVE-2026-45713Wysokie
Mailpit przed wersją 1.30.0 nie ogranicza rozmiaru danych przesyłanych przez SMTP ani HTTP, co pozwala atakującemu na wysłanie bardzo dużych wiadomości. Powoduje to gwałtowny wzrost zużycia pamięci RAM (nawet 7-10 razy większy niż rozmiar danych), co może doprowadzić do zabicia procesu przez OOM.
- CVE-2026-45712Średnie
Mailpit przed wersją 1.30.0 zawiera podatność w proxy zrzutów ekranu/drukowania (/proxy?data=…), gdzie odczyt mapy assets bez blokady mutexu podczas współbieżnego zapisu prowadzi do błędu krytycznego Go (concurrent map read and map write), powodującego awarię całego procesu Mailpit.
- CVE-2026-45711Średnie
Podatność na zapis poza katalogiem docelowym w narzędziu Mailpit przed wersją 1.30.0. Pole ID wiadomości jest pobierane dosłownie z odpowiedzi JSON zdalnego serwera i łączone ze ścieżką wyjściową za pomocą path.Join, które normalizuje segmenty '..'. Złośliwy serwer HTTP podszywający się pod Mailpit może zapisać dane w dowolnej ścieżce, do której użytkownik ma dostęp zapisu.
- CVE-2026-45709Średnie
Mailpit zawiera podatność SSRF w komponencie sprawdzania HTML, która pozwala na dostęp do wewnętrznych zasobów sieciowych. Mimo wcześniejszych poprawek, mechanizm pobierania CSS nie filtruje adresów IP, umożliwiając atakującemu przekierowanie żądania do prywatnych adresów IP. Podatność jest dostępna bez uwierzytelnienia w domyślnej konfiguracji.
- CVE-2026-55187Średnie
Mailpit przed wersją 1.30.2 zawiera niekompletną poprawkę podatności CVE-2026-27808, która nie blokuje wszystkich mechanizmów przejścia IPv6 (NAT64, 6to4, ISATAP itp.). Atakujący może wykorzystać API Link Check do skanowania wewnętrznych usług, w tym punktów końcowych metadanych chmury.
Oryginalny opis (angielski, źródło NVD)
Mailpit is an email testing tool and API for developers. From 1.29.0 until 1.30.6, Mailpit's server/server.go origin middleware checks the raw RequestURI for the /api/ prefix while Go's ServeMux routes using the percent-decoded URL path, and server/websockets/client.go configures websocket.Upgrader.CheckOrigin to return true. A malicious website can request /%61pi/events, skip corsOriginAccessControl(), reach the /api/events WebSocket handler, and receive live message IDs, Message-Id values, sender and recipient fields, subjects, tags, and body snippets from an unauthenticated default Mailpit instance after the user visits the site. This is a regression of the earlier WebSocket origin protection and does not affect deployments protected by --ui-auth-file. This issue is fixed in version 1.30.6.

