diff --git a/.trivyignore b/.trivyignore index ca8090219..8067306df 100644 --- a/.trivyignore +++ b/.trivyignore @@ -35,3 +35,44 @@ CVE-2026-69152 # it cannot regress below it — the same invariant the brace-expansion note describes, which is what # keeps an ID-level ignore honest. Drop this entry once npm ships a bundle with ip-address >= 10.3.1. CVE-2026-69192 +# CVE-2026-76033 / -76036 / -76037 / -76038 / -76039 / -76040 / -76041 / -76043 / -76044 / -76045 / +# -76047: Chromium, arm64 image ONLY. Eleven ids, 33 findings. +# +# Each lands on `chromium`, `chromium-common` and `chromium-sandbox`, which is why eleven ids produce +# thirty-three findings. They are arm64-only by construction: Chrome for Testing publishes no +# linux-arm64 build, so amd64 uses CfT while arm64 installs Debian's chromium (Dockerfile, TARGETARCH +# branch). Only the arm64 image carries the Debian package, and the amd64 scan is clean. +# +# THE FIX EXISTS UPSTREAM BUT NOT IN DEBIAN YET. The image has 151.0.7922.137-1~deb12u1 and Trivy +# names 151.0.7922.169-1~deb12u1 as fixed. Checked against the security mirror's own package index at +# the time of writing: bookworm-security still serves .137 for both arm64 and amd64. The release build +# is not stale; it fetched from bookworm-security with no cached apt layer (`no-cache-filters: +# production`) and installed the newest version that exists. Rebuilding today changes nothing. +# +# Exposure, stated honestly rather than talked down. Unlike the earlier chromium batch, where two of +# the four were sandbox escapes that `--no-sandbox` made irrelevant, NONE of these are neutralised by +# how the container runs: +# - Eight are arbitrary or remote code execution in the renderer: v8 type confusion (-76038, -76047), +# v8 miscalculation (-76043), Dawn (-76036), WebGL use-after-free (-76045), a use-after-free +# (-76040), a race condition (-76044) and link following (-76037). +# - One is a site isolation bypass (-76033) and two are information disclosure (-76039, -76041). +# Chromium renders content the sender controls (message bodies, link previews, images), so a crafted +# message is a plausible path to code execution as the `openwa` user inside the arm64 container. The +# container is the confinement boundary (cap_drop ALL, no-new-privileges, read_only rootfs), and that +# is all that stands behind it. This is accepted deliberately so the release can ship while Debian has +# no fixed build, NOT because it is harmless. +# +# Drop all eleven the moment bookworm ships chromium >= 151.0.7922.169 (watch +# https://security-tracker.debian.org/tracker/source-package/chromium) and re-run the release scan +# with them removed before assuming they are gone. +CVE-2026-76033 +CVE-2026-76036 +CVE-2026-76037 +CVE-2026-76038 +CVE-2026-76039 +CVE-2026-76040 +CVE-2026-76041 +CVE-2026-76043 +CVE-2026-76044 +CVE-2026-76045 +CVE-2026-76047