CRITICAL🇬🇧 English

CVE-2020-36326

PHPMailer: object injection przez Phar Deserialization w addAttachment

CVSS 9.8v3.1pub. 2021-04-28upd. 2024-11-21

PHPMailer w wersjach 6.1.8–6.4.0 jest podatny na object injection poprzez deserializację formatu Phar przy użyciu ścieżek UNC w funkcji addAttachment. Podatność jest krytyczna (CVSS 9.8), ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika i może prowadzić do przejęcia kontroli nad serwerem.

Pokaż oryginał (EN)

PHPMailer 6.1.8 through 6.4.0 allows object injection through Phar Deserialization via addAttachment with a UNC pathname. NOTE: this is similar to CVE-2018-19296, but arose because 6.1.8 fixed a functionality problem in which UNC pathnames were always considered unreadable by PHPMailer, even in safe contexts. As an unintended side effect, this fix eliminated the code that blocked addAttachment exploitation.

🤖 Analiza AI
Jak działa

Podatność wynika z niezamierzonego efektu ubocznego poprawki wprowadzonej w wersji 6.1.8, która naprawiła problem funkcjonalny polegający na tym, że ścieżki UNC były zawsze traktowane jako nieczytelne przez PHPMailer. Usunięcie tego ograniczenia wyeliminowało jednocześnie kod blokujący możliwość nadużycia funkcji addAttachment. Atakujący może przekazać specjalnie spreparowaną ścieżkę UNC wskazującą na plik Phar, co powoduje deserializację osadzonego w nim obiektu PHP (CWE-502). Mechanizm jest analogiczny do wcześniej opisanej podatności CVE-2018-19296.

Skutki

Udana eksploatacja umożliwia atakującemu wykonanie dowolnego kodu na serwerze (RCE), a także naruszenie poufności, integralności i dostępności danych — w zależności od dostępnych klas PHP (gadget chains) w środowisku docelowym.

Mitygacja

Należy zaktualizować PHPMailer do wersji wyższej niż 6.4.0, w której problem został rozwiązany. Dostępna poprawka opisana jest w commicie repozytorium GitHub (e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się weryfikację, czy dane wejściowe przekazywane do funkcji addAttachment są odpowiednio walidowane i ograniczone wyłącznie do zaufanych ścieżek.

Kogo dotyczy

PHPMailer w wersjach od 6.1.8 do 6.4.0 (włącznie). Pośrednio dotyczy aplikacji korzystających z PHPMailer, w tym instalacji WordPress z wtyczkami lub motywami używającymi tej biblioteki.

Uwagi

Podatność jest regresją wprowadzoną w wersji 6.1.8 — poprawka funkcjonalna dla ścieżek UNC nieumyślnie usunęła zabezpieczenie blokujące wcześniej znany wektor ataku CVE-2018-19296.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Phpmailer Project Phpmailer

    APP
    Phpmailer Project
    6.1.8 – 6.4.0
  • WordPress

    APP
    Wordpress
    3.7 – 3.7.36 (bez)3.8 – 3.8.36 (bez)3.9 – 3.9.34 (bez)4.0 – 4.0.33 (bez)4.1 – 4.1.33 (bez)4.2 – 4.2.30 (bez)4.3 – 4.3.26 (bez)4.4 – 4.4.25 (bez)4.5 – 4.5.24 (bez)4.6 – 4.6.21 (bez)4.7 – 4.7.21 (bez)4.8 – 4.8.17 (bez)4.9 – 4.9.18 (bez)5.0 – 5.0.13 (bez)5.1 – 5.1.10 (bez)+ 6 więcej
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Deserialization
CWE
Referencje

Powiązane podatności

CVE-2026-63030CRITICAL9.8⚠ KEVPL ✓ten sam produkt

WordPress: RCE przez route confusion w REST API i SQL Injection

CVE-2016-10033CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHPMailer — RCE poprzez argument injection w funkcji mailSend

CVE-2020-28035CRITICAL9.8PL ✓ten sam produkt

Privilege escalation w WordPress przez XML-RPC (przed wersją 5.5.2)

CVE-2020-28032CRITICAL9.8PL ✓ten sam produkt

WordPress — niebezpieczna deserializacja w FilteredIterator

CVE-2020-28036CRITICAL9.8PL ✓ten sam produkt

WordPress: privilege escalation przez XML-RPC przy komentowaniu wpisów