lowCWE-200A01:2021

EXIF No Eliminado

Imagenes servidas sin eliminar metadatos EXIF pueden filtrar coordenadas GPS, informacion del dispositivo, timestamps y otros datos sensibles de la persona que tomo la foto.

Cómo Funciona

Las camaras digitales y smartphones embeben metadatos (datos EXIF) en cada foto. Esto incluye coordenadas GPS, modelo de camara, fecha y hora, version de software y a veces incluso el nombre del dueno. Cuando los usuarios suben fotos a una aplicacion web y el servidor las almacena sin eliminar estos metadatos, cualquiera que descargue la imagen puede extraer la informacion embebida. Las coordenadas GPS pueden revelar la direccion de casa, lugar de trabajo o ubicacion actual de un usuario. La informacion del dispositivo puede usarse para fingerprinting. Aunque no es directamente explotable para ejecucion de codigo, es una violacion significativa de privacidad que puede habilitar stalking, doxxing o ataques de ingenieria social.

Código Vulnerable
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
app.post('/photos', upload.single('photo'), (req, res) => {
  // Image saved with all EXIF metadata intact
  res.json({ url: `/photos/${req.file.filename}` });
});
Código Seguro
const sharp = require('sharp');
app.post('/photos', upload.single('photo'), async (req, res) => {
  const stripped = await sharp(req.file.path)
    .rotate()  // Auto-rotate based on EXIF, then strip
    .withMetadata({ exif: undefined })
    .toFile(`uploads/clean-${req.file.filename}`);
  res.json({ url: `/photos/clean-${req.file.filename}` });
});

Ejemplo Real

En 2012, el pionero de antivirus John McAfee fue localizado por las autoridades en Guatemala despues de que un periodista publico una foto de el. Los datos GPS del EXIF en la foto revelaron su ubicacion exacta, llevando a su arresto. Multiples plataformas de redes sociales ahora eliminan datos EXIF, pero muchas apps web aun no lo hacen.

Cómo Prevenirlo

  • Usa sharp o una libreria similar para eliminar todos los metadatos EXIF al subir
  • Auto-rota imagenes basandote en la orientacion EXIF antes de eliminar metadatos
  • Nunca sirvas imagenes subidas originales directamente — siempre procesalas primero
  • Implementa un CDN o pipeline de procesamiento de imagenes que elimine metadatos por default

Tecnologías Afectadas

Node.jsPythonJavaPHPGo

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas