GHSA-6vj9-mwq6-2f5v
ŚrednieStreszczenie
Globalna pamięć podręczna DNS w Nodemailer jest kluczowana tylko według `host`, ale każdy wpis przechowuje również specyficzny dla wywołującego `servername` TLS. Gdy dwa bezpośrednie transporty SMTPS używają tego samego hosta DNS z różnymi wartościami `tls.servername`, nazwa serwera z pierwszego transportu jest zwracana do drugiego.
Ocena ryzyka
Może to prowadzić do nawiązania połączenia z niewłaściwym serwerem (np. zamiast zamierzonego serwera, połączenie trafia do innego), co może skutkować wyciekiem danych lub naruszeniem integralności komunikacji.
Rekomendacja
Zaleca się uwzględnienie `servername` w kluczu pamięci podręcznej DNS lub unikanie współdzielenia globalnej pamięci podręcznej między transportami o różnych ustawieniach TLS.
Inne podatności w Nodemailer
Zobacz wszystkie- CVE-2026-100700Wysokie
nodemailer w wersjach przed 10.0.6 zawiera podatność typu denial of service w wyrażeniu regularnym fallbacku free-text parsera adresów, które wykazuje kwadratowe zachowanie backtrackingu. Atakujący mogą dostarczyć spreparowane wartości nagłówków e-mail z długimi ciągami bez spacji, aby zablokować pętlę zdarzeń Node.js na dziesiątki sekund, powodując niedostępność usługi.
- 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-2x7j-588g-ccc2Wysokie
Parser adresów e-mail w Nodemailer (lib/addressparser/index.js) przetwarza listę adresów oddzielonych przecinkami w czasie kwadratowym (O(n²)) w zależności od liczby adresów. Pojedynczy spreparowany ciąg adresów (np. w polach To, Cc, Bcc, From, Reply-To) może spowodować znaczne spowolnienie.
- GHSA-cc9r-2j5m-2m83Średnie
Parser adresów e-mail w Nodemailer traktuje komentarz RFC 5322 (w nawiasach) w domenie jako miejsce łączenia tekstu, zamiast jako białe znaki składane (CFWS), które kończą domenę. To może prowadzić do błędnego parsowania adresu, np. [email protected](x)evil.c..., umożliwiając atakującemu przekierowanie wiadomości lub obejście walidacji.
- GHSA-wmmp-3585-3rmpŚrednie
Nodemailer rozwiązuje międzynarodowe (IDN / nie-ASCII) domeny odbiorcy na inny etykietę Punycode (xn--) niż standardowe parsery zgodne z UTS-46 (np. przeglądarki, URL Standard, Node's url.domainToASCII, Python's idna). Jego normalizator adresów _normalizeAddress może prowadzić do błędnego rozpoznania domeny, co może być wykorzystane do ataków typu phishing lub przejęcia wiadomości.
- GHSA-8m3c-c648-2xjjŚrednie
Opcje disableFileAccess i disableUrlAccess w Nodemailer służą jako piaskownica uniemożliwiająca niezaufanej treści wiadomości czytanie lokalnych plików lub wykonywanie żądań HTTP(S). Poprawka dla wcześniejszej podatności (GHSA-wqvq-jvpq-h66f) może być niekompletna, umożliwiając obejście zabezpieczeń.
- 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-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-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.
- CVE-2026-82854Krytyczne
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.
Oryginalny opis (angielski, źródło NVD)
### Summary Nodemailer's process-global DNS cache is keyed only by `host`, but each cache entry also stores the caller-specific TLS `servername`. When two direct SMTPS transports use the same DNS host with different `tls.servername` values, the first transport's server name is returned to the secon
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

