CVE-2026-100702
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
Nodemailer przed wersją 10.0.2 nie spłaszcza poprawnie głęboko zagnieżdżonych tablic w polach odbiorców, takich jak to, cc i bcc, co pozwala atakującym spowodować wyczerpanie stosu. Atakujący może dostarczyć głęboko zagnieżdżoną tablicę JSON odbiorców, która wyzwala rekurencyjną konwersję Array.toString(), wyczerpując stos i kończąc proces Node.js.
Ocena ryzyka
Ryzyko obejmuje możliwość zdalnego zatrzymania procesu Node.js (DoS) poprzez wysłanie specjalnie spreparowanej wiadomości e-mail z zagnieżdżonymi tablicami odbiorców.
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 before 10.0.2 fails to properly flatten deeply nested arrays in recipient fields such as to, cc, and bcc, allowing attackers to cause stack exhaustion. Attackers can supply a deeply nested JSON recipient array that triggers recursive Array.toString() conversion, exhausting the call stack and terminating the Node.js process.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

