¿Cuáles son los riesgos al procesar un documento con el PDI de Apache?

2

Apache POI es una biblioteca de Java para procesar documentos de oficina.

¿Cuáles son los riesgos asociados con el procesamiento de documentos no fiables? Por ejemplo, un sitio web que permite a los usuarios cargar documentos que se procesan utilizando POI.

Un riesgo potencial que conozco en el análisis de documentos es que un documento puede hacer referencia a un recurso local, y el analizador lo resuelve localmente en el servidor. Me gustaría saber si esto es un riesgo con POI.

    
pregunta paj28 19.06.2014 - 16:06
fuente

1 respuesta

2

Las CVE statistics en el PDI de Apache indican solo una única vulnerabilidad conocida, que es de tipo "denegación de servicio" y se amplía en allí : es decir, un producto especialmente diseñado El documento puede hacer que POI asigne toneladas de memoria (es decir, más de lo que ya hace normalmente). Si se ha reportado tal vulnerabilidad, significa que se ha investigado el comportamiento del POI en documentos hostiles; si no se informó de una vulnerabilidad de "inclusión de archivo local", es probable que no haya ninguna.

Si desea estar seguro, puede descargar el código fuente y buscar primitivas de acceso a archivos (referencias a clases de System.IO ). Alternativamente, puede ejecutar el análisis en un Chroot sandbox para que los archivos locales que se pueden leer a través del analizador solo puedan ser aquellos de la caja de arena.

(No garantizo nada aquí. Al menos, sin embargo, al escribir POI en Java puro, no debería sufrir vulnerabilidades de ejecución remota de código a través de desbordamientos de búfer o errores similares que, por definición, se evitan sistemáticamente en la VM Sin embargo, aún desea aplicar algunas limitaciones estrictas en el uso de la memoria de la máquina virtual.

    
respondido por el Thomas Pornin 19.06.2014 - 16:34
fuente

Lea otras preguntas en las etiquetas