Vulnerabilidad detectada en dompdf de PHP

La biblioteca de software llamada dompdf utilizada para renderizar archivos PDF a partir de documentos HTML en PHP, posee una vulnerabilidad sin parche que permitiría a un atacante realizar ejecución remota de código (RCE).

El atacante inyecta código CSS personalizado en los datos procesados por dompdf, esto permitiría que el servidor almacene una fuente maliciosa con una extensión de archivo “.php” en su caché de fuentes, con el objetivo de ejecutarlo al acceder a ella desde la web.

Esto puede tener consecuencias significativas en los sitios web que requieren la generación de PDF del lado del servidor en función de los datos proporcionados por el usuario, particularmente cuando los inputs no se validan adecuadamente para mitigar estas fallas de seguridad.

Las versiones de dompdf 1.2.0 y anteriores que se encuentran en un directorio accesible desde la web y tienen activada la configuración «$isRemoteEnabled» deben considerarse vulnerables. Sin embargo, las versiones 0.8.5 y anteriores de la biblioteca se ven afectadas incluso cuando esta opción se establece en false.

Para versiones de dompdf igual o mayores a 0.8.6 el parámetro $isREmoteEnabled puede ser deshabilitado para prevenir la carga de fuentes personalizadas por medio de las reglas CSS font-face. Para versiones menores a 0.8.5 no es posible mitigar esta vulnerabilidad.

A la fecha no se cuenta con un parche para esta vulnerabilidad, una solución temporal sería prohibir la carga de estilos de fuentes personalizadas durante el proceso de generación de archivos PDF o restringir los permisos de escritura a la carpeta del cache de las fuentes. Así mismo, bloquear el acceso al recurso Composer Install también sería una opción.

Referencias:

Compartir: