PDF y JavaScript incorporado

2

Hemos completado una vulnerabilidad y una prueba de penetración. Una característica de nuestra aplicación permite la carga de documentos, y nosotros permitimos documentos PDF.

Antes de que se acepte un documento, buscamos Virus y aseguramos que el documento sea un PDF válido. Todo esto está bien.

A CVSS se le asignó un Riesgo de medio a esta función porque no buscamos Javascript incrustado malicioso, o como el informe sugiere "código malicioso". Por supuesto, no existe una definición de código JS malicioso.

Al leer la documentación de adobe [1], parece que se hace un esfuerzo razonable para determinar si el código JS es malicioso.

Mis preguntas:

  1. ¿Son suficientes los esfuerzos de adobe [1]?

  2. ¿Es razonable esperar que bloqueemos todos los archivos PDF con JS incrustado?

  3. Parece que no hay mucho ruido / charla sobre JS incrustado en los archivos PDF, lo que sugiere que otros no ven esto como un problema, ¿sería cierto?

  4. Si no escaneamos en busca de JS incrustado, ¿es razonable tener una puntuación de medio CVSS?

  5. ¿Cuáles son los casos de uso generales para JS incrustados dentro de PDF? En caso de que bloqueemos dichos PDF, se evitará que un usuario cargue ciertos archivos PDF.

  6. ¿Qué es lo peor que alguien puede hacer con esta instalación JS incrustada en PDF? Sabemos que el JS PDF está aislado de la aplicación web por lo que no es XSS a la aplicación web?

[1] Documentación de Adobe enlace

    
pregunta Darragh 16.10.2018 - 19:55
fuente

1 respuesta

1

Para comenzar, en la página de Adobe a la que te estás vinculando, dice:

  

Un documento no confiable que intenta invocar una URL a través de JS muestra el   YMB por defecto. El usuario tiene la opción de confiar en el documento para   acciones a través del botón Opciones en el YMB.

En la práctica, este "esfuerzo" IMHO es casi inútil, ya que los PDF posiblemente circularían a través de su organización, y uno podría imaginar que siempre habrá una persona, más o menos descuidada, que presiona el botón. Y eso podría significar abrir la caja de pandora.

Debes entender que pasar un PDF que contiene cualquier código malicioso es como pasar un paquete que contiene una bomba. Peor aún si se hacen copias. Las bombas no se replican, los PDF sí lo hacen. Y no podemos decir cuándo y dónde puede explotar. Así que es mejor no querer dejarlo entrar.

Esto se reduce a la pregunta que ya está haciendo, ¿es razonable no aceptar archivos PDF con JS incrustado? Si solo hablamos de CV, mi intuición inicial sería: "Absolutamente". No puedo ver por qué un CV necesitaría una interactividad en el documento, que sería el único caso de uso para JS integrado, en el que puedo pensar. Por lo general, JS incrustado se puede usar para archivos PDF que contienen formularios que puede rellenar el lector, por ejemplo, uno puede elegir entre opciones.

Eso lo deja con la cuestión de escanear y rechazar archivos PDF con código JS incorporado o eliminar el código JS incorporado durante el procedimiento de escaneo. Este último, no es realmente una cuestión técnica o de seguridad, pero puede o no tener aspectos legales.

    
respondido por el TorstenS 17.10.2018 - 17:03
fuente

Lea otras preguntas en las etiquetas