fix(commerce-backend): remediar 3/5 CVE CRITICAL, documentar excepcion para 2
Run 138 de build-medusa.yaml encontro 5 CVE CRITICAL reales (no falsos positivos) al escanear la imagen con Trivy: Remediados en el Dockerfile (verificado localmente con Trivy real, exit 0): - CVE-2026-33845 / CVE-2026-42010 (libgnutls30, base Debian): apt upgrade puntual del paquete. - CVE-2026-59873 (tar vendorizado dentro del npm CLI global de la imagen base node:*-slim): se elimina /usr/local/lib/node_modules/npm completo -- no es una dependencia real del proyecto (el CMD nunca invoca npm en runtime), asi que no hay nada que "actualizar". Documentados como excepcion en workloads/commerce-backend/.trivyignore (con --ignorefile solo en este workflow, no afecta a build.yaml ni deploy-docs.yaml): - CVE-2024-24790 / CVE-2025-68121 (Go stdlib embebido en el binario de esbuild que trae [email protected], dependencia interna de @medusajs/admin-sdk). Se probo el fix real (override de esbuild a una version mas nueva) y rompio el build del admin panel -- [email protected] fija "esbuild: ^0.21.3" como dependencia directa, y esbuild >=0.24 cambio el manejo de targets de transpilacion que vite 5 espera. No existe un patch dentro de la serie 0.21.x con un Go toolchain mas nuevo. Requiere subir @medusajs/admin-sdk/vite en un cambio aparte, fuera de alcance de este pipeline de seguridad.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Excepciones documentadas al gate CRITICAL de Trivy (imagen) para
|
||||
# commerce-backend. Cada entrada requiere justificación y fecha -- no
|
||||
# es un mecanismo para silenciar hallazgos sin revisar.
|
||||
#
|
||||
# CVE-2024-24790 / CVE-2025-68121 (golang stdlib, gobinary):
|
||||
# Van embebidas en el binario precompilado de esbuild
|
||||
# (app/node_modules/@esbuild/linux-x64/bin/esbuild), traído
|
||||
# transitivamente por [email protected], que a su vez lo trae
|
||||
# @medusajs/admin-sdk para bundlear el panel de admin en build time.
|
||||
# No es un binario que se ejecute en runtime del contenedor (el CMD
|
||||
# corre "node .../medusa/cli start", nunca esbuild).
|
||||
#
|
||||
# Se intentó el fix real (bump de esbuild a una versión compilada con
|
||||
# un Go toolchain más nuevo, override en package.json) y rompió el
|
||||
# build del admin: [email protected] declara "esbuild: ^0.21.3" como
|
||||
# dependencia directa (no rango amplio), y esbuild >=0.24 cambió el
|
||||
# manejo de la lista de "target" de transpilación que vite 5 pasa
|
||||
# internamente -- build.yaml falló con
|
||||
# "Transforming destructuring... not supported yet" /
|
||||
# PLUGIN_ERROR en vite:esbuild-transpile. No existe un patch dentro
|
||||
# de la propia serie 0.21.x (0.21.5 ya es la última) que incluya un
|
||||
# Go toolchain con estas CVEs corregidas.
|
||||
#
|
||||
# Domesticar esto de verdad requiere subir @medusajs/admin-sdk (y por
|
||||
# lo tanto vite) a una versión que dependa de un esbuild más nuevo --
|
||||
# fuera de alcance de este pipeline de seguridad, queda como TODO de
|
||||
# dependencias en un cambio aparte, no bloqueado por CI mientras
|
||||
# tanto.
|
||||
#
|
||||
# Documentado: 2026-08-15. Revisar en cada bump de @medusajs/* por si
|
||||
# ya arrastra una versión de vite/esbuild más nueva y esta excepción
|
||||
# deja de ser necesaria.
|
||||
CVE-2024-24790
|
||||
CVE-2025-68121
|
||||
@@ -59,6 +59,26 @@ ENV NODE_ENV=production \
|
||||
PORT=9000 \
|
||||
NPM_CONFIG_UPDATE_NOTIFIER=false
|
||||
|
||||
#
|
||||
# libgnutls30 en la base node:22.18.0-bookworm-slim trae dos CVE
|
||||
# CRITICAL con fix ya publicado por Debian (CVE-2026-33845,
|
||||
# CVE-2026-42010) -- detectado por el gate de Trivy imagen del
|
||||
# pipeline (run 138). Solo se actualiza este paquete puntual, no toda
|
||||
# la imagen, para minimizar el diff de superficie de la base.
|
||||
RUN apt-get update \
|
||||
&& apt-get upgrade -y libgnutls30 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
#
|
||||
# El CLI global de npm que trae la imagen base node:*-slim no se usa en
|
||||
# runtime (el CMD invoca a Medusa directo con `node`, nunca `npm`) y
|
||||
# arrastra su propia copia vendorizada de `tar` con un CVE CRITICAL
|
||||
# (CVE-2026-59873, detectado por Trivy en
|
||||
# usr/local/lib/node_modules/npm/node_modules/tar). Se elimina en vez
|
||||
# de forzar una versión: no es una dependencia real de este proyecto,
|
||||
# así que no hay nada que "actualizar" -- solo superficie sin uso.
|
||||
RUN rm -rf /usr/local/lib/node_modules/npm
|
||||
|
||||
#
|
||||
# Solo lo necesario para ejecutar Medusa
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user