Skip to content

security(runtime): upgrade patch-validator Node for bundled Undici fix #734

Open

Description

@seonghobae

Problem

Noema's protected-base patch-validator image pins a fully static Node.js 24.19.0 runtime. Exact image evidence from PR #733 patch-validator run 36504105548, artifact 11031436406, identifies bundled Undici 7.29.0 and reports GHSA-3wwx-pv8p-q78v. The advisory is fixed in Undici 7.29.1.

This is a canonical Noema runtime defect, not an App-installation-consent defect introduced by #733. It must not be waived, severity-downgraded, or worked around in a consumer.

Root cause

The protected base and its exact-identity contracts still pin Node 24.19.0 across the static-image Dockerfile, hosted workflows, package-manager identity, embedded-runtime inventory/evidence, tests, and documentation. Node 24.19.0 embeds Undici 7.29.0. The official Node v24.21.0 release bundle contains Undici 7.29.1.

Required RED evidence

  1. Add a durable exact-runtime test that fails on the protected-base identity because process.versions.undici is below 7.29.1 or because the exact image vulnerability evidence contains GHSA-3wwx-pv8p-q78v.
  2. Preserve the current full scanner receipt; do not replace it with a string-only or vacuous oracle.
  3. Confirm every toolchain and image pin affected by the version transition before editing.

Smallest GREEN repair

  • Select the smallest supported Node release whose official source bundle contains Undici >= 7.29.1; Node v24.21.0 is the currently verified LTS candidate.
  • Authenticate the official source tarball with its exact SHA-256 and update the static build identity, CPE/package note, embedded-runtime catalog/inventory, applicability evidence, and all executable exact-version gates.
  • Determine and pin the bundled npm version from the exact selected runtime; do not guess or retain a contradictory npm assertion.
  • Update package-manager metadata, affected workflows, tests, CHANGELOG, runtime/operator documentation, and security doctoring as one coherent owner delta.
  • Preserve the existing c-ares overlay and all independently justified applicability decisions unless exact new evidence changes them.
  • Do not add a scanner ignore, advisory waiver, mutable download, branch URL, or paid/model fallback.

Completion gates

  • Focused RED→GREEN evidence for bundled Undici identity and GHSA absence.
  • Full test/typecheck/coverage GREEN.
  • Patch-validator image build, smoke, SBOM, provenance, and vulnerability verification GREEN on the exact PR head.
  • Fresh exact-head review and qualifying independent approval.
  • Ordinary merge, immutable Noema release/evidence, then dependent PRs may consume the released owner fix.

Dependency

PR #733 must remain Draft / Proposed while this owner prerequisite is unresolved. A diagnosis or this issue alone is not completion.

Activity

  1. seonghobae commented on Sep 30, 2026

    @seonghobae
    ContributorAuthor

    Authoritative release identity collected for the owner repair:

    • Node's official v24.21.0 LTS release archive reports bundled npm 11.19.0.
    • Its signed SHA-256 list records a6f54defb6fd7c84f41dba13d61e78e9b4e0961712cf61f29715c05f5ced94fc node-v24.21.0.tar.xz.
    • The exact official nodejs/node@v24.21.0 source bundle records Undici 7.29.1.

    These values remove the remaining identity guesswork for a repair branch. They do not constitute RED/GREEN execution, an image build, release, or completion; the issue acceptance gates remain unchanged.

    Primary release evidence: https://nodejs.org/tr/blog/release/v24.21.0 and https://nodejs.org/en/download/archive/v24.21.0

  2. added
    area: securitySecurity boundary, hardening, or vulnerability prevention
    bugSomething isn't working
    on Sep 30, 2026
  3. seonghobae commented on Sep 30, 2026

    @seonghobae
    ContributorAuthor

    Fresh exact-head failure evidence from dependent PR #733: patch-validator run 36681968884 at cab54e5d6c27768f67361b824feebfb210493397 completed build, smoke, and SBOM production, then failed only in vulnerability receipt verification because the image still contains Node 24.19.0 with bundled Undici 7.29.0. Artifact 11088167853 has SHA-256 72b8806b65cdd7607ebcd4eff6b33f58784ab2150761c209d93ab13c73b0c3f0.

    This reconfirms #734 as the canonical owner defect; an unchanged-head rerun of #733 cannot change the result. #733 must remain blocked until owner RED→GREEN, exact image rebuild/scan, immutable release evidence, and consumer refresh are complete.

  4. added a commit that references this issue on Sep 30, 2026
    f9eb387
  5. seonghobae commented on Sep 30, 2026

    @seonghobae
    ContributorAuthor

    Canonical owner repair is now proposed in #737.

    • exact PR head: f9eb3878b0a1d350d774c7c165453aa2a56d2f6b
    • exact head tree: 511cad0ec0f994f9d0e3dad90f5dae5ebbffdb8b
    • protected-base snapshot used: 1204a075ac15b924e2f907804ba99c337d1a3ac7
    • upgrade: Node.js 24.21.0 / npm 11.19.0 / bundled Undici 7.29.1
    • official source SHA-256: a6f54defb6fd7c84f41dba13d61e78e9b4e0961712cf61f29715c05f5ced94fc
    • RED: the trusted inventory previously admitted Node 24.21.0 with vulnerable Undici 7.29.0
    • GREEN: exact inventory and Docker executable gates now require Undici 7.29.1; focused tests, typecheck, audit, and locally executable full-suite cases pass

    This is Proposed evidence, not completion. #737 remains Draft while exact-head hosted CI, static-image/SBOM/provenance/raw scanner receipts, and independent review are pending. Dependent #733 remains Draft until an immutable owner result is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: securitySecurity boundary, hardening, or vulnerability preventionbugSomething isn't workingpriority: highHigh-priority or P1 work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions