Merge fix/devsecops-medusa-cve-remediation: remediacion CVE + excepcion documentada
This commit is contained in:
@@ -220,6 +220,10 @@ jobs:
|
|||||||
# a los 4m52s con el timeout default, en un run donde el host
|
# a los 4m52s con el timeout default, en un run donde el host
|
||||||
# venía de terminar el docker build (ver hallazgo de rendimiento
|
# venía de terminar el docker build (ver hallazgo de rendimiento
|
||||||
# de Gitea/runner en docs/playbooks).
|
# de Gitea/runner en docs/playbooks).
|
||||||
|
# --ignorefile: excepciones puntuales y documentadas (ver
|
||||||
|
# workloads/commerce-backend/.trivyignore) para CVEs sin fix de
|
||||||
|
# bajo riesgo disponible hoy. No debilita el gate en general --
|
||||||
|
# cualquier otra CRITICAL sigue bloqueando igual.
|
||||||
- name: Escanear imagen (Trivy) — CRITICAL bloquea
|
- name: Escanear imagen (Trivy) — CRITICAL bloquea
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -229,6 +233,7 @@ jobs:
|
|||||||
--exit-code 1 \
|
--exit-code 1 \
|
||||||
--ignore-unfixed \
|
--ignore-unfixed \
|
||||||
--timeout 15m0s \
|
--timeout 15m0s \
|
||||||
|
--ignorefile "${APP_DIR}/.trivyignore" \
|
||||||
"${IMAGE_NAME}:${{ steps.vars.outputs.VERSION }}"
|
"${IMAGE_NAME}:${{ steps.vars.outputs.VERSION }}"
|
||||||
|
|
||||||
# HIGH solo informa por ahora — mismo criterio que el frontend.
|
# HIGH solo informa por ahora — mismo criterio que el frontend.
|
||||||
|
|||||||
@@ -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 \
|
PORT=9000 \
|
||||||
NPM_CONFIG_UPDATE_NOTIFIER=false
|
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
|
# Solo lo necesario para ejecutar Medusa
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user