Przejdź do treści
Alerty bezpieczeństwa 3 min czytania

CVE-2026-82854: Wstrzyknięcie poleceń SMTP w bibliotece Nodemailer

Nodemailer przed wersją 8.0.4 wkleja niesanityzowaną wartość envelope.size do polecenia SMTP MAIL FROM. Znaki CRLF w tej wartości pozwalają wstrzyknąć dowolne polecenia protokołu SMTP...

Podsumowanie

ParametrWartość
CVE IDCVE-2026-82854
Źródło alertuGitHub Advisory - Krytyczna podatność
Rok publikacji CVE2026
Data publikacji2026-08-31
ProducentNodemailer
ProduktNodemailer (npm), wersje przed 8.0.4
CVSS Score9.8 (Krytyczny)
EPSS ScoreBrak danych
CISA KEVNie
RansomwareNie potwierdzono

Opis podatności

Źródło: NVD / GitHub Advisory

Nodemailer przed wersją 8.0.4 jest podatny na wstrzyknięcie poleceń SMTP przez niesanityzowany parametr envelope.size.

Mechanizm jest prosty: gdy aplikacja przekazuje do sendMail() własny obiekt envelope z właściwością size, jej wartość jest doklejana do polecenia SMTP MAIL FROM (jako SIZE=...) bez usunięcia znaków sterujących. Jeśli wartość zawiera znaki CRLF, atakujący kończy bieżące polecenie protokołu i dopisuje własne.

Warunkiem wykorzystania jest to, by aplikacja przekazywała envelope.size z danych pochodzących z zewnątrz. To ogranicza zasięg — nie każda aplikacja buduje własny obiekt envelope — ale tam, gdzie to robi, wektor jest w pełni zdalny i nie wymaga uwierzytelnienia w samej bibliotece.

Skutkiem może być między innymi rozsyłanie wiadomości spoza kontroli aplikacji przez uwierzytelniony serwer SMTP organizacji — czyli wykorzystanie cudzej, zaufanej reputacji nadawcy do phishingu.

Poprawka: Nodemailer 8.0.4.

Wymagane działania

  1. Zaktualizuj Nodemailera do wersji 8.0.4 lub nowszej. Sprawdź także zależności pośrednie — Nodemailer bywa wciągany przez frameworki i biblioteki wyższego poziomu, nie tylko bezpośrednio.
  2. Przejrzyj kod pod kątem wywołań sendMail() z własnym obiektem envelope. Jeśli wartość size pochodzi z danych wejściowych użytkownika, potraktuj to jako priorytet.
  3. Uruchom npm audit na projektach Node.js, żeby zinwentaryzować wersje w całym portfelu aplikacji.
  4. Sprawdź logi serwera SMTP pod kątem nietypowych sekwencji poleceń albo wiadomości wysłanych do odbiorców spoza spodziewanego zakresu.

Kogo dotyczy?

Podatność dotyczy aplikacji Node.js korzystających z biblioteki Nodemailer w wersjach starszych niż 8.0.4.

Nodemailer to domyślny sposób wysyłania poczty z aplikacji Node.js — obsługuje maile transakcyjne, powiadomienia, resetowanie haseł i potwierdzenia zamówień. W polskich firmach oznacza to praktycznie każdą aplikację webową zbudowaną w tym ekosystemie: sklepy internetowe, platformy SaaS, portale klienckie i systemy wewnętrzne.

Ze względu na skalę użycia warto potraktować tę podatność jako zadanie inwentaryzacyjne, a nie punktowe: pytanie brzmi nie „czy mamy Nodemailera”, tylko „w ilu aplikacjach i w jakich wersjach”.

Źródła


Potrzebujesz wsparcia w zabezpieczeniu systemów? Zespół nFlo oferuje usługi zarządzania podatnościami oraz testów penetracyjnych aplikacji webowych. Skontaktuj się z nami.

Dowiedz się więcej

Udostępnij:

Porozmawiaj z ekspertem

Masz pytania dotyczące tego tematu? Skontaktuj się z naszym opiekunem.

Opiekun handlowy
Grzegorz Gnych

Grzegorz Gnych

Opiekun handlowy

Odpowiedź w ciągu 24 godzin
Bezpłatna konsultacja
Indywidualne podejście

Podanie numeru telefonu przyspieszy kontakt.

Chcesz obniżyć ryzyko i koszty IT?

Umów bezpłatną konsultację - odpowiemy w ciągu 24h

Odpowiedź w 24h Bezpłatna wycena Bez zobowiązań

Lub pobierz bezpłatny przewodnik:

Pobierz checklistę NIS2