CVE-2021-3838

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:dompdf_project:dompdf:*:*:*:*:*:*:*:*

History

19 Nov 2024, 17:11

Type Values Removed Values Added
References () https://github.com/dompdf/dompdf/commit/99aeec1efec9213e87098d42eb09439e7ee0bb6a - () https://github.com/dompdf/dompdf/commit/99aeec1efec9213e87098d42eb09439e7ee0bb6a - Patch
References () https://huntr.com/bounties/0bdddc12-ff67-4815-ab9f-6011a974f48e - () https://huntr.com/bounties/0bdddc12-ff67-4815-ab9f-6011a974f48e - Exploit, Issue Tracking, Patch, Third Party Advisory
CPE cpe:2.3:a:dompdf_project:dompdf:*:*:*:*:*:*:*:*
First Time Dompdf Project dompdf
Dompdf Project

15 Nov 2024, 13:58

Type Values Removed Values Added
Summary
  • (es) DomPDF anterior a la versión 2.0.0 es vulnerable a la deserialización de PHAR debido a la falta de verificación del protocolo antes de pasarlo a la función file_get_contents(). Un atacante que pueda cargar archivos de cualquier tipo al servidor puede pasar el protocolo phar:// para deserializar el archivo cargado y crear instancias de objetos PHP arbitrarios. Esto puede provocar la ejecución remota de código, especialmente cuando DOMPdf se utiliza con marcos con cadenas POP documentadas como Laravel o código de desarrollador vulnerable.

15 Nov 2024, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-11-15 11:15

Updated : 2024-11-19 17:11


NVD link : CVE-2021-3838

Mitre link : CVE-2021-3838

CVE.ORG link : CVE-2021-3838


JSON object : View

Products Affected

dompdf_project

  • dompdf
CWE
CWE-502

Deserialization of Untrusted Data