CVE-2026-82854
KrytyczneCVSS 9.8Streszczenie
Nodemailer przed wersją 8.0.4 jest podatny na wstrzykiwanie komend SMTP przez niesanityzowany parametr envelope.size. Gdy aplikacja przekazuje niestandardowy obiekt envelope z właściwością size zawierającą znaki CRLF do sendMail(), wartość jest konkatenowana do komendy SMTP MAIL FROM (jako SIZE=...) bez sanityzacji, co pozwala na wstrzyknięcie dowolnych komend SMTP, takich jak RCPT TO, w celu cichego dodania adresatów kontrolowanych przez atakującego.
Ocena ryzyka
Ryzyko wysyłania wiadomości e-mail do nieautoryzowanych odbiorców, co może prowadzić do wycieku informacji lub wykorzystania serwera do phishingu.
Rekomendacja
Zaktualizuj Nodemailer do wersji 8.0.4 lub nowszej oraz upewnij się, że aplikacja nie przekazuje danych kontrolowanych przez atakującego do parametru envelope.size.
Inne podatności w Nodemailer
Zobacz wszystkie- CVE-2026-82853Średnie
Nodemailer przed wersją 8.0.5 zawiera podatność na wstrzykiwanie komend SMTP w opcji nazwy transportu używanej w komendach EHLO/HELO. Parametr name jest konkatenowany bezpośrednio do komend SMTP bez sanityzacji znaków powrotu karetki i nowej linii, co pozwala atakującym na wstrzyknięcie dowolnych komend SMTP w celu fałszowania e-maili i ataków phishingowych.
- CVE-2026-82662Średnie
Nodemailer przed wersją 8.0.8 wyłącza weryfikację certyfikatów TLS w pliku lib/fetch/index.js przez ustawienie rejectUnauthorized: false, co umożliwia atakującym przechwycenie żądań tokenów OAuth2. Atakujący w pozycji man-in-the-middle mogą przechwycić sekrety klienta OAuth, tokeny odświeżania i tokeny dostępu przesyłane przez skompromitowane połączenia HTTPS.
- CVE-2026-82661Średnie
Nodemailer przed wersją 8.0.9 nie sanityzuje znaków powrotu karetki i nowej linii w polach komentarzy list, co umożliwia atakującym wstrzyknięcie dowolnych nagłówków wiadomości. Atakujący kontrolujący parametry list.*.comment może wstrzyknąć sekwencje CRLF, tworząc dodatkowe nagłówki w generowanych wiadomościach RFC822, co zmienia zachowanie klienta poczty i semantykę wiadomości.
- CVE-2026-82660Średnie
Nodemailer przed wersją 8.0.9 nie egzekwuje opcji disableFileAccess i disableUrlAccess podczas normalizacji wiadomości w jsonTransport. Atakujący mogą odczytywać lokalne pliki lub pobierać adresy URL, podając wartości path lub href w polach treści wiadomości, omijając zamierzone kontrolki dostępu.
- CVE-2026-82659Wysokie
nodemailer przed wersją 9.0.1 nie stosuje flag disableFileAccess i disableUrlAccess do opcji raw na poziomie wiadomości, co pozwala uwierzytelnionym atakującym na odczyt dowolnych plików lub przeprowadzenie ataku SSRF poprzez podanie właściwości path lub href. Atakujący mogą wykorzystać to, tworząc surowe wiadomości ze ścieżkami plików lub adresami URL, które omijają zamierzoną piaskownicę, a pobrana treść jest dostarczana w wychodzącej wiadomości do kontrolowanych przez atakującego odbiorców.
- CVE-2024-58379Średnie
Nodemailer przed wersją 6.9.9 zawiera podatność na regular expression denial of service (ReDoS) w parsowaniu e-maili, gdy ustawiony jest parametr attachDataUrls lub podczas przetwarzania osadzonych załączników. Atakujący mogą wysyłać specjalnie spreparowane e-maile ze złośliwymi adresami URL danych lub osadzonymi załącznikami, powodując zawieszenie pętli zdarzeń i odmowę usługi.
- GHSA-p6gq-j5cr-w38fWysokie
W nodemailer v9.0.0 opcja `raw` na poziomie wiadomości omija zabezpieczenia `disableFileAccess` i `disableUrlAccess`, umożliwiając odczyt dowolnych plików oraz pełny atak SSRF (Server-Side Request Forgery) w wysyłanej wiadomości.
- GHSA-wqvq-jvpq-h66fŚrednie
Podatność w Nodemailer pozwala na obejście opcji `disableFileAccess` i `disableUrlAccess` w przypadku korzystania z `jsonTransport`. Mimo że normalny strumień MIME wymusza te ograniczenia, `jsonTransport` serializuje wiadomość w sposób, który je pomija, umożliwiając potencjalny dostęp do lokalnych plików lub zewnętrznych URL-i.
- GHSA-268h-hp4c-crq3Średnie
Podatność w bibliotece Nodemailer umożliwia wstrzyknięcie nagłówków poprzez pole `list.*.comment`, które nie jest oczyszczane ze znaków CR (`\r`) i LF (`\n`). Atakujący może dostarczyć złośliwą wartość w tym polu, co prowadzi do fałszowania nagłówków wiadomości e-mail.
- GHSA-r7g4-qg5f-qqm2Średnie
Nodemailer wyłącza weryfikację certyfikatów TLS w swoim wewnętrznym kliencie HTTPS, ustawiając rejectUnauthorized: false w pliku lib/fetch/index.js. Powoduje to, że żądania tokenów OAuth2 ufają nieprawidłowym lub samopodpisanym certyfikatom HTTPS.
Oryginalny opis (angielski, źródło NVD)
Nodemailer before 8.0.4 is vulnerable to SMTP command injection through the unsanitized envelope.size parameter. When an application passes a custom envelope object with a size property containing CRLF characters to sendMail(), the value is concatenated into the SMTP MAIL FROM command (as SIZE=...) without sanitization, allowing injection of arbitrary SMTP commands such as RCPT TO to silently add attacker-controlled recipients. Exploitation requires the application to expose the envelope size to attacker-controlled input, as Nodemailer does not include size in the default auto-constructed envelope.

