CVE-2026-100701
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
Nodemailer w wersjach 5.0.0 do 10.0.1 używa globalnej pamięci podręcznej DNS, która jest kluczowana tylko przez host DNS, podczas gdy każdy wpis pamięci podręcznej przechowuje również specyficzny dla wywołującego serwer TLS (servername). Gdy dwa transporty direct TLS/SMTPS (secure: true) rozwiązują ten sam host nie-IP z różnymi wartościami tls.servername, servername pierwszego transportu jest zwracane przy trafieniu w pamięć podręczną i nadpisuje jawnie skonfigurowaną wartość drugiego transportu, więc Nodemailer wysyła błędną wartość SNI i waliduje certyfikat peera względem błędnej tożsamości. W usługach wielodostępnych lub bramkach SMTP z routingiem SNI, atakujący, który może zainicjować pamięć podręczną, może spowodować, że transport ofiary połączy się z wirtualnym hostem TLS atakującego i zaakceptuje certyfikat atakującego nawet przy rejectUnauthorized: true, ujawniając poświadczenia SMTP ofiary. Naprawione w 10.0.2.
Ocena ryzyka
Ryzyko obejmuje możliwość przechwycenia poświadczeń SMTP ofiary przez atakującego, który manipuluje pamięcią podręczną DNS, co może prowadzić do nieautoryzowanego wysyłania e-maili i naruszenia poufności.
Rekomendacja
Zaktualizuj Nodemailer do wersji 10.0.2 lub nowszej, która naprawia podatność.
Inne podatności w Nodemailer
Zobacz wszystkie- 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-4g23-2xm8-66gcŚrednie
Parser odpowiedzi klienta SMTP w Nodemailer składa wielowierszowe odpowiedzi serwera, dołączając każdą linię kontynuacji do jednego wpisu i ponownie testując, czy jest to odpowiedź częściowa. Test częściowej odpowiedzi wykonuje operacje na łańcuchach przy każdej linii, co może prowadzić do nieefektywnego przetwarzania.
- GHSA-g73g-hqqh-jr95Średnie
Parser adresów Nodemailer ma trzy opublikowane i załatane poprawki dotyczące obsługi komentarzy RFC 5322 w addr-spec. Opis obejmuje wcześniejsze problemy ze sklejaniem atomów domeny i lokalnej części oraz powiązane poprawki ReDoS.
- 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-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.
- GHSA-8vvx-rff5-p5rqŚrednie
Podatność w pakiecie nodemailer (npm) dotyczy wersji od 2.7.2 do 10.0.1. Szczegóły podatności nie są w pełni opisane w dostarczonym fragmencie, ale potwierdzono podatne wersje.
- GHSA-4ffr-jq9g-5ffxŚrednie
Klient SMTP Nodemailer stosuje cztery wyrażenia regularne do odpowiedzi EHLO w celu wykrycia mechanizmów SASL. Każdy wzorzec zawiera nakładające się podwzorce dopasowujące białe znaki, co powoduje kwadratowe (O(n^2)) cofanie przy długich nazwach mechanizmów.
- 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ń.
Oryginalny opis (angielski, źródło NVD)
Nodemailer versions 5.0.0 through 10.0.1 use a process-global DNS cache that is keyed only by the DNS host, while each cache entry also stores the caller-specific TLS servername. When two direct TLS/SMTPS transports (secure: true) resolve the same non-IP host with different tls.servername values, the first transport's servername is returned on the cache hit and overwrites the second transport's explicitly configured value, so Nodemailer sends the wrong SNI value and validates the peer certificate against the wrong identity. In multi-tenant services or SNI-routed SMTP gateways, an attacker who can prime the cache can cause a victim transport to connect to the attacker's TLS virtual host and accept the attacker's certificate even with rejectUnauthorized: true, disclosing the victim's SMTP credentials. Fixed in 10.0.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

