lowCWE-1104A06:2021

Docker Tag Latest

Usar FROM image:latest significa que un nuevo pull puede cambiar silenciosamente tu imagen base, rompiendo la reproducibilidad y potencialmente introduciendo vulnerabilidades.

Cómo Funciona

:latest resuelve a lo que el registro considera actual al momento del pull. Una nueva versión mayor de Node.js, un SO base cambiado o una imagen comprometida publicada como :latest puede cambiar tu build sin ningún cambio de código.

Código Vulnerable
# MAL: el tag latest no está fijado — cambia sin aviso
FROM node:latest
FROM postgres:latest
Código Seguro
# BIEN: fija a una etiqueta de versión específica para reproducibilidad completa
FROM node:20.11.1-alpine3.19
FROM postgres:16.2-alpine3.19

Ejemplo Real

En 2020, el mantenedor de una imagen base popular de Docker Hub publicó cambios que rompían compatibilidad en :latest. Miles de builds de CI que dependían de ella fallaron simultáneamente. Más críticamente, un :latest comprometido podría silenciosamente distribuir malware a todos los usuarios downstream.

Cómo Prevenirlo

  • Fija las imágenes base a etiquetas de versión específicas (node:20.11.1-alpine3.19, no node:latest)
  • Para máxima seguridad, fija al digest de la imagen (FROM node@sha256:abc123...) que es inmutable
  • Usa Dependabot o Renovate para actualizar automáticamente las versiones de imágenes fijadas con PRs revisados
  • Prefiere imágenes base mínimas (alpine, distroless) para reducir la superficie de ataque

Tecnologías Afectadas

Docker

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas