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.
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}` });
});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
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Travesia de Ruta
highRutas de archivos construidas con input de usuario sin validar permiten a los atacantes leer o escribir archivos arbitrarios en el servidor usando secuencias ../.
Carga de Archivo sin Validacion
highAceptar cargas de archivos sin verificar tipo, tamano o contenido permite a los atacantes subir ejecutables maliciosos, web shells o archivos sobredimensionados que crashean el servidor.
SVG con JavaScript
mediumAceptar cargas de SVG sin sanitizacion permite a los atacantes embeber JavaScript en archivos SVG, habilitando ataques XSS cuando el SVG se renderiza en un navegador.
Inyeccion en Generacion de PDF
mediumInyectar HTML o JavaScript en templates de generacion de PDF permite a los atacantes leer archivos del servidor, hacer requests a la red interna o ejecutar scripts en el visor de PDF.