fix(security): upgrade handlebars to 4.7.9 (closes #306)#307
Conversation
Addresses AST Type Confusion RCE (Dependabot alerts fairDataSociety#69, fairDataSociety#70, fairDataSociety#72, #73). Dev-only transitive dependency via typedoc-plugin-markdown; no production exposure. Minimal lockfile-only change — lockfileVersion preserved at 2. Only the two handlebars entries (version/resolved/integrity) are modified. Rebased onto master (5b2d1cd) to resolve prior package-lock.json conflict. Closes fairDataSociety#306 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
b444b2d to
b5c7383
Compare
|
Rebased onto current master ( |
CI failures are pre-existing infrastructure, not this PRAll CI jobs on the current run are failing at the fdp-play startup step, before any tests run: This is the same infrastructure issue tracked in #305 (and affects Verification that the change is safe
RecommendationMerge on code review — the red X's are unrelated. Once #305 is unblocked (PR ready in branch |
Previous commits pinned fdp-play@3.2.0 with --fdp-contracts flag, but queen Bee node startup fails with 404 against bee 1.13.0 (reproduces on 3.2.0 and 3.3.0). Revert to master's pattern: plain `fdp-play start` + docker-run fdp-contracts-blockchain sidecar, while keeping the 3.2.0 pin everywhere so fdp-play itself is consistent across all three jobs. This restores the known-good queen-startup path; the original fairDataSociety#305 symptom ("no contract code at given address") should be addressed by the sidecar deploying contracts to the test blockchain. Refs: fairDataSociety#305, fairDataSociety#306, fairDataSociety#307 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rsion) Previous commit 89f7f2d kept 3.2.0 while dropping --fdp-contracts, but CI run 24769653871 shows 3.2.0 itself fails queen-node startup with 404 on bee 1.13.0 in all three jobs (nodejs, fairos, browser). Empirical evidence: - master fairos (fdp-play@3.0.0, bee 1.13.0): queen starts cleanly, reaches worker-node / contract-deploy stage - master nodejs/browser (unpinned → latest fdp-play, bee 1.13.0): queen 404 - PR 308 all jobs (fdp-play@3.2.0, bee 1.13.0): queen 404 3.0.0 is the only confirmed version that gets bee 1.13.0 past queen startup. It lacks --fdp-contracts, but the sidecar pattern (restored in 89f7f2d) covers that. Refs fairDataSociety#305, fairDataSociety#306, fairDataSociety#307 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Security-review verification (2026-04-22T13:36Z)Independent verification of the upgrade's scope and coverage: Diff surface is surgical and dev-only.
Alert coverage is broader than the PR body claims. The body lists alerts #69, #70, #72, #73. Querying the Dependabot API (
Merging this PR should auto-close all seven alerts, not just the four listed. CI red ≠ this PR's fault. Tests workflow is red on master (0/10 successful runs in 90-day history per our audit at #308). PR #308 is the track to fix the CI baseline; this PR (#307) is a dev-only Recommendation: Merge on code-review grounds. Lockfile-only dev-dep version bumps with Dependabot alert coverage are a low-risk class of change; the benefit (closes a critical RCE alert) dominates the risk (zero runtime exposure, reverting is a one-commit lockfile bump). |
Daily PR Review — 2026-04-27T06:45Z (CTO cadence)Status: Ready to merge — blocked only by CI infrastructure (not code quality) Security upgrade summary:
CI failures are pre-existing infrastructure issue tracked in PR #308 (fdp-play worker node timeouts), not introduced by this PR. Recommendation: Merge as soon as #308 unblocks CI, or consider admin-merging given the critical security severity and zero code-logic diff. Do not let this sit — CVSS 9.8 deserves priority treatment even for a dev dep. — CTO review cadence, 2026-04-27 |
miles-on-nightshift
left a comment
There was a problem hiding this comment.
Security upgrade reviewed: handlebars 4.7.7 → 4.7.9 (dev-only dependency), closes the critical handlebars CVE from #309. Clean 6-line lockfile diff with no other changes. CI red is the pre-existing systemic fdp-play queen-node startup failure — confirmed unrelated to this lockfile change. @plur9 ready for merge.
Summary
lockfileVersion2 → 3 (npm 7+ default, backwards compatible) — accounts for the large diffpackage.jsonis unchanged; onlypackage-lock.jsonis touched.Verification
npm auditbefore: 1 critical (handlebars) + other highsnpm auditafter: 0 critical, handlebars advisories goneTest plan
npm run docsstill produces typedoc outputCloses #306
🤖 Generated with Claude Code