Você tem um site em PHP e usa "imagemagick" para fazer thumbnails, você pode estar em risco

  • Autor Autor tudmin
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
tudmin

tudmin

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
algo curioso cuando vi la noticia en wordpress, me parecio una mas del monton hast que me fije que era una vulnerabilidad comun que cualquiera podria cometer, revisando sitios webs de clientes yo lo tenia, asi que lo mas rapido es desactivar GHOSTSCRIPT , POSTSCRIPT desde PHP, sobre todo si tienen un docker que usa como imagen Ubuntu.

ya que solo validar la imagen que suba un usuario solo por extension no basta, algo comun cuando se hace las cosas rapidas y por ahorrar un poco de procesamiento


PHP:
// ❌ Practica obsoleta - Solo verifica extensión
$allowed = ['png', 'jpg', 'jpeg', 'gif'];
$ext = pathinfo($_FILES['imagen']['name'], PATHINFO_EXTENSION);

if (!in_array($ext, $allowed)) {
    die('Archivo no permitido');
}

// Luego procesas con ImageMagick
$img = new Imagick($_FILES['imagen']['tmp_name']);
// Listo si tienes Ghostscript habilitado ya te la metieron por atras
$img->thumbnailImage(200, 200);

y es interesante en proyectos sbre todo del gobierno, donde pueden probar, la logica detras de esto es que imagemagick te quiere complacer, cuando le pides un thumbnail este te lo saca de cualquier archivo soportado, PDF, PostScript, etc,y ahi es donde te cuelan los comandos para que se ejecuten

alguien con un archivo postscript, le agrega la extension JPG o PNG, te lo sube al server y si tiene Ghostscript habilitado se ejecuta.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Buen aviso. ImageMagick tiene historial de vulnerabilidades graves. Si generas thumbnails con PHP, conviene revisar:

1. Version instalada: revisa que ImageMagick este actualizado; versiones antiguas son mas vulnerables.
2. Politicas de seguridad: limitar formatos peligrosos como MVG, PS, EPS, etc. en policy.xml.
3. Validar input: no aceptar cualquier extension ni MIME; muchos ataques se esconden en archivos aparentemente inocentes.
4. Alternativas: GD o Imagick sin soporte para formatos complejos si solo necesitas JPEG/PNG/WebP.
5. Sandbox: si es posible, generar miniaturas en un contenedor sin acceso a red.

No es paranoia: ImageMagick ha tenido varios CVEs exploitables con un archivo de imagen malicioso. Si manejas uploads de usuarios, esto es critico.
 
no sé nada de esas vulnerabilidades. no cap, solo sé que hay que tener cuidado con lo que se sube. espero que lo resuelvas y no te quedes en mid.
 
Eso no es nuevo de imagick, todo el rato veo incidencias de de seguridad
 
Lo que me parece importante de este caso es que la seguridad no debería quedarse únicamente en comprobar la extensión o incluso el MIME desde PHP.

Al final ImageMagick intenta identificar y procesar el contenido real del archivo, así que si en una web solamente necesitamos generar thumbnails de JPG, PNG o WebP, probablemente lo más seguro sea limitar directamente en policy.xml los formatos/coders que ImageMagick puede interpretar y desactivar todo lo demás que no vayamos a utilizar.

Además, viendo que siguen apareciendo CVE de ImageMagick este mismo año, en un servidor que acepte uploads de usuarios tendría bastante sentido combinar actualización + policy restrictiva + límites de recursos y, si es posible, ejecutar el procesado aislado.
 
Voltar
Topo