Conecta con nosotros

Noticias

Descubren una vulnerabilidad en una librería de PHP de creación de archivos PDF

Publicado el

Descubren una vulnerabilidad en una librería de PHP de creación de archivos PDF

Un investigador de seguridad ha descubierto una grave vulnerabilidad de seguridad en una librería de PHP que se emplea para la generación de archivos PDF: TCPDF. Según Zdnet, es una de las tres principales librerías para la creación de archivos PDF a partir de código HTML, junto con mPDF y FPDF. Los atacantes pueden explotar esta vulnerabilidad para conseguir ejecutar código de manera remota tanto en páginas como en apps web que utilicen la librería citada.

Este fallo no es completamente nuevo, sino que es una variante de otro descubierto el pasado verano por el investigador de Secarma Sam Thomas. Este, en una serie de experimentos, demostró que había un bug de despublicación que afectada a diversas apps en PHP. Al hilo de este descubrimiento, Thomas publicó un trabajo de investigación en el que se detallaba cómo llevar a cabo ataques de serialización contra las plataformas WordPress y Typo3, así como para la librería TCPDF integrada en el seno de otro CMS, Contao.

Esta nueva variante se ha conocido a raíz de la publicación el pasado fin de semana de un post en el que un investigador de seguridad italiano, del que sólo se sabe que se hace llamar Polict, ha desvelado una vulnerabilidad de publicación de PHP que tiene el mismo efecto en la librería TCPDF que el descubierto por Thomas en verano de 2018.

Según este investigador, la vulnerabilidad puede explotarse de dos maneras. La primera se da en las webs que permiten que el usuario realice entradas para agregarlas al proceso de generación de archivos PDF. Por ejemplo, nombres o datos en facturas.

La segunda puede utilizarse en páginas web que contengan además otras vulnerabilidades de secuencia de comandos en sitios cruzados. Con ella, un atacante puede insertar código malicioso en la fuente HTML que se pasará a la librería TCPDF para su conversión a PDF.

En ambos casos, el truco para explotar la vulnerabilidad consiste en suministrar datos mal formados a esta librería. Entonces, estos se modifican para que fuercen a la librería TCPDF a llamar al encapsulador de flujo phar:// del servidor PHP. Una vez hecho esto, se forzaría al proceso de despublicación de PHP a ejecutar código en el servidor base. Se trata de una rutina de ataque muy compleja, que requiere conocimientos avanzados de codificación en PHP para explotarla.

En cuanto a su solución, el investigador descubridor de la vulnerabilidad original, asegura que informó de su existencia a los creadores de la librería TCPDF el pasado mes de agosto, y el equipo liberó la versión 6.2.2.0 de la misma el pasado mes de septiembre para solucionar el problema.

Sin embargo, el equipo volvió a introducir de nuevo accidentalmente la vulnerabilidad en la librería mientras intentaba resolver la vulnerabilidad detectada hace unos días por Polict. Por tanto, habrá que esperar a su versión 6.2.22 para que ambos problemas queden solucionados. Al parecer, la solución del problema no es tan sencilla como parece. En algunos casos se arregla con el campo de un archivo y la edición de una instrucción de desarrollo. Pero en otros, puede implicar la reescritura de grandes cantidades de código.

Redactora de tecnología con más de 15 años de experiencia, salté del papel a la Red y ya no me muevo de ella. Inquieta y curiosa por naturaleza, siempre estoy al día de lo que pasa en el sector.

Click para comentar

Lo más leído