Node-based images ship a Node.js vulnerable to Node2Shell (CVE-2026-111497); rebuild with --pull and republish the 3.0.x line

Aperta
#405 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
docker, nodejs
Ambito
devops

Direzione di ricerca

The affected images are built from the FROM node:22-bookworm-slim and node:24-bookworm-slim lines in the mod/*/Dockerfile files. Check which base tags they use, then run docker run --rm --entrypoint node <image> --version on a rebuilt image. Done means the Node version is at or above 22.23.4 and 24.22.1, and the 3.0.x images are republished. Publishing needs maintainer access to Docker Hub, so this is not a good first contribution.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

The Node.js-based images built from this repo (mod/*/Dockerfile, FROM node:22-bookworm-slim / node:24-...) carry a Node.js below the versions that fix CVE-2026-111497 ("Node2Shell"), the out-of-bounds write in the bundled Google Brotli decoder. Node.js fixed it on 2026-10-21 in 22.23.4, 24.22.1 and 26.12.1 (https://nodejs.org/en/blog/vulnerability/october-2026-security-releases). CISA added the CVE to its Known Exploited Vulnerabilities catalog on 2026-10-27. Node.js offers no workaround; upgrading the runtime is the only remediation.

Because the Dockerfiles use floating base tags, the fix only reaches the published images when they are rebuilt with a fresh base. The images on Docker Hub were not, or were built from a stale cached base layer.

What the published images contain

Checked with docker run --rm --entrypoint node <image> --version on 2026-10-31:

Image Pushed Node inside Fixed version
alangecker/bbb-docker-graphql-actions:v3.0.39 2026-10-07 22.23.3 22.23.4
alangecker/bbb-shared-notes-server:v3.0.39 2026-10-07 22.23.3 22.23.4
alangecker/bbb-docker-bbb-export-annotations:v3.0.39 2026-10-07 22.23.3 22.23.4
alangecker/bbb-docker-webhooks:v3.6.0 2026-10-07 22.23.3 22.23.4
alangecker/bbb-docker-webrtc-sfu:v2.24.0 2026-10-07 22.23.3 22.23.4
alangecker/bbb-docker-pads:v1.5.8 2026-03-17 22.22.1 22.23.4
alangecker/bbb-docker-graphql-actions:v4.0.1 2026-10-30 24.22.0 24.22.1
alangecker/bbb-docker-webhooks:v3.7.0 2026-10-30 24.22.0 24.22.1

The 2026-10-30 builds are nine days after the fix and still one patch short, which points at Docker's layer cache resolving node:24-bookworm-slim to an old digest (no --pull).

Related, in another repo: bigbluebutton/greenlight:v3.9.0.1 (2026-09-09) contains Node 20.15.1. Node 20 is end of life and will never receive this fix. I can open a separate issue there if wanted.

Exposure

Whether a given service is exploitable depends on it decompressing attacker-supplied Brotli data (Node's HTTP server does not decode request bodies on its own). The runtime is nevertheless below the fixed version in every Node-based container of a standard deployment, which is what vulnerability scanners and the KEV listing act on, and operators cannot fix it without new images.

Request

  1. Rebuild and republish the Node-based images with a fresh base (docker build --pull, or pin the base, e.g. node:22.23.4-bookworm-slim / node:24.22.1-bookworm-slim): bbb-graphql-actions, bbb-shared-notes-server, bbb-export-annotations, webhooks, webrtc-sfu, bbb-pads.
  2. Please also republish the 3.0.x line (new v3.0.39 digests or a v3.0.40), since that is what the stable compose template deploys and a jump to the 4.0 images is a major upgrade for operators.
  3. Consider adding --pull to the image build workflow and a post-build check (node --version against the current security release) so a Node security release is picked up by the next build automatically.

Environment

  • bigbluebutton/docker at e59892e (2026-10-30), images as listed above
  • Host: Debian 13, Docker 29
Lingua principale
Shell
Stelle
436
Fork
277
Merge medio
3g 14h
PR unite (30g)
3

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bigbluebutton/docker

Tutte le issue di bigbluebutton/docker

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.