CRITICAL🇬🇧 English

CVE-2021-3838

RCE przez PHAR deserialization w DomPDF przed wersją 2.0.0

CVSS 9.8v3.1pub. 2024-11-15upd. 2024-11-19

DomPDF w wersjach przed 2.0.0 jest podatny na deserializację obiektów PHP przez protokół PHAR, co może prowadzić do zdalnego wykonania kodu (RCE). Podatność jest szczególnie groźna w środowiskach używających frameworków z udokumentowanymi łańcuchami POP, takich jak Laravel.

Pokaż oryginał (EN)

DomPDF before version 2.0.0 is vulnerable to PHAR deserialization due to a lack of checking on the protocol before passing it into the file_get_contents() function. An attacker who can upload files of any type to the server can pass in the phar:// protocol to unserialize the uploaded file and instantiate arbitrary PHP objects. This can lead to remote code execution, especially when DOMPdf is used with frameworks with documented POP chains like Laravel or vulnerable developer code.

🤖 Analiza AI
Jak działa

Aplikacja nie weryfikuje protokołu przekazywanego do funkcji file_get_contents(), co pozwala atakującemu na podstawienie URI z prefixem phar://. Jeśli atakujący jest w stanie wgrać na serwer plik dowolnego typu (np. przez formularz uploadu), może spreparować archiwum PHAR zawierające zserializowane obiekty PHP. Przekazanie ścieżki phar:// do podatnej funkcji powoduje automatyczną deserializację metadanych archiwum i instantiację dowolnych klas PHP dostępnych w aplikacji. W połączeniu z istniejącymi łańcuchami POP (Property-Oriented Programming) możliwe jest wykonanie dowolnego kodu po stronie serwera.

Skutki

Atakujący może uzyskać pełną kontrolę nad serwerem poprzez zdalne wykonanie kodu (RCE), a także naruszyć poufność, integralność i dostępność danych przetwarzanych przez aplikację.

Mitygacja

Należy zaktualizować DomPDF do wersji 2.0.0 lub nowszej, która zawiera weryfikację protokołu przed przekazaniem wartości do file_get_contents(). Poprawka dostępna w commicie 99aeec1efec9213e87098d42eb09439e7ee0bb6a. Dodatkowo zaleca się ograniczenie możliwości wgrywania plików przez nieuwierzytelnionych lub nieupoważnionych użytkowników oraz walidację rozszerzeń i typów MIME przesyłanych plików.

Kogo dotyczy

DomPDF w wersjach przed 2.0.0 (projekt dompdf/dompdf).

Uwagi

Podatność jest szczególnie ryzykowna w aplikacjach opartych na frameworku Laravel lub innym środowisku posiadającym udokumentowane łańcuchy POP, co znacząco ułatwia eskalację do pełnego RCE.

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

    APP
    Dompdf Project
    < 2.0.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
CWE
Referencje

Powiązane podatności

CVE-2021-3902CRITICAL9.8PL ✓ten sam produkt

XXE w parserze SVG biblioteki dompdf umożliwia SSRF i PHAR deserialization

CVE-2023-24813CRITICAL10.0ten sam produkt

Dompdf is an HTML to PDF converter written in php. Due to the difference in the attribute parser of Dompdf and...

CVE-2023-23924CRITICAL10.0ten sam produkt

Dompdf is an HTML to PDF converter. The URI validation on dompdf 2.0.1 can be bypassed on SVG parsing by passi...

CVE-2022-28368CRITICAL9.8ten sam produkt

Dompdf 1.2.1 allows remote code execution via a .php file in the src:url field of an @font-face Cascading Styl...

CVE-2022-41343HIGH7.5ten sam produkt

registerFont in FontMetrics.php in Dompdf before 2.0.1 allows remote file inclusion because a URI validation f...