Skip to content

fix(security): patch October 2026 Node, Go and Next.js CVEs - #190

Merged
lnieuwenhuis merged 1 commit into
stagingfrom
fix/october-2026-cve-patches
Oct 22, 2026
Merged

lnieuwenhuis merged 1 commit into
stagingfrom
fix/october-2026-cve-patches

Conversation

@lnieuwenhuis

Copy link
Copy Markdown
Owner

Why

Security releases from the last few days affect services running in this project on Railway:

Service Was Now Advisories
@macro-tracker/web, backend (Railpack) Node 22.23.2 Node 22.23.4 Node Oct 21 release: Brotli decoder RCE (CVE-2026-111497), TLS hostname bypasses (CVE-2026-105483, CVE-2026-106069), dns NUL truncation (CVE-2026-105482), and others
AI gateway (infra/cliproxyapi) cli-proxy-api:v7.2.132 (go1.26.6) v8.0.38 (go1.26.10) Go Oct 8 release (15 fixes, mostly net/http and HTTP/2) and Oct 21 crypto/x509 CA denylist (CVE-2026-111943)
@macro-tracker/web next 16.3.3 next 16.3.8 next/og RCE, Image Optimization SSRF, SSG/ISR cache poisoning
@macro-tracker/web (transitive) sharp 0.35.4 sharp 0.35.5 librsvg CVE-2026-96889 (override raised)

railpack.json is in the web and backend watchPatterns, so this rebuilds both services.

Notes on the gateway major bump

v8 restructured its config, but it still reads the legacy flat layout that entrypoint.sh generates (see the compatibility notes in the v8 config.example.yaml). There are no newer v7 builds: the v7 line stopped at v7.3.20 on Sep 27, built with go1.26.8. --codex-login still exists, so the README fallback is still valid.

Verification

  • Built the infra/cliproxyapi image locally and ran it with the real entrypoint. /v1/models returns 200 with the API key and 401 without it, /v0/management/config returns 200 with the management key and 401 without it, /management.html returns 200, and startup logs show v8.0.38 with no errors.
  • go version -m on the image binaries: v7.2.132 = go1.26.6, v8.0.38 = go1.26.10.
  • pnpm audit --prod: no known vulnerabilities (previously 3 critical, 6 high).
  • web: typecheck, lint and build pass. test passes everything except the integration suites that need a backend on :4000 or TEST_DATABASE_URL (api-v1, api-token-actions, api-settings-client, meal-entry-copy). Those aren't available locally; CI covers them.

- Pin Railpack Node to 22.23.4 (Oct 21 Node security release:
  Brotli decoder RCE CVE-2026-111497, TLS hostname bypasses
  CVE-2026-105483/CVE-2026-106069, dns NUL truncation CVE-2026-105482).
  Builds were resolving 22.23.2.
- Bump the AI gateway image eceasy/cli-proxy-api v7.2.132 -> v8.0.38.
  v7.2.132 was built with go1.26.6 and missed the Oct 8 net/http fixes
  and the Oct 21 crypto/x509 CA denylist (CVE-2026-111943); v8.0.38 is
  built with go1.26.10 and still reads the legacy config layout that
  entrypoint.sh renders.
- Bump next and eslint-config-next 16.3.3 -> 16.3.8 (next/og RCE,
  Image Optimization SSRF, ISR cache poisoning advisories).
- Raise the sharp override 0.35.4 -> 0.35.5 (librsvg CVE-2026-96889)
  and refresh source-map-js to 1.2.2.
@lnieuwenhuis
lnieuwenhuis merged commit c7a0792 into staging Oct 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant