Si un usuario carga un archivo pero modifica la solicitud configurando el tipo mime en algo arbitrario, como "superdangerous / blackhatstuff", es seguro para mí enviar el mismo tipo mime a otro usuario más tarde en?
I.e. otro usuario descarga el mismo archivo y configuro el tipo MIME en "superdangerous / blackhatstuff", ¿es posible configurar el tipo mime en algo potencialmente peligroso? Debido a que son datos proporcionados por el usuario, tengo la sensación de que no es una buena idea almacenar y reproducir sin algún tipo de desinfección. (Por supuesto, estoy limpiando la consulta antes de almacenar el tipo mime, por lo que no me preocupan los ataques de inyección SQL a través del tipo mime).
Estoy utilizando clam AV para escanear los archivos cargados, lo que espero que detecte algunos de los ataques de olfateo del mimo, pero eso no es realmente lo que estoy preguntando aquí.
Si esto es, de hecho, peligroso, entonces, ¿qué es lo correcto a hacer? ¿No debería especificar un tipo mime y dejar que el receptor lo adivine? Debería intentar hacer mi propio rastreo de mime (estoy usando PHP en Linux, que proporciona una API para la magia de archivos).
Editar: Más detalles
Déjame explicarte el propósito de esta característica. La aplicación en cuestión se utiliza como parte de un flujo de trabajo que requiere que se envíen para su revisión y aprobación varios tipos de artefactos, incluidos (entre otros) documentos de Word, hojas de cálculo, imágenes y archivos. Otros usuarios deberán poder descargar estos artefactos para poder verlos y tomar una decisión de aprobación.
Para evitar algunas infracciones obvias, tenemos listas negras en su lugar (como cargar un archivo PHP o Javascript) y estamos configurando la Disposición de contenido como "archivo adjunto; nombre de archivo = ...". Estamos ejecutando Clam AV en los archivos cargados como un saneamiento básico, ya que realmente no podemos imponer una lista blanca a nuestros usuarios. La aplicación se ejecuta en una intranet y requiere autenticación antes de poder acceder a cualquier cosa, y nuestros usuarios [en su mayoría] son de confianza.
De todos modos, el punto es que no estoy preguntando sobre la seguridad de almacenar archivos y permitir que los usuarios los descarguen. (Me doy cuenta de que es un gran vector de amenazas, pero no es la pregunta que estoy planteando). Realmente me preocupa más si es seguro reproducir un tipo mime proporcionado por el usuario, y si no, ¿cuál es la alternativa? ¿Para no especificar un tipo mime en absoluto?