Skip to content

Security (Laravel CVE), Node 24 LTS migration, and deploy SSH debug fix#1205

Merged
arnonrdp merged 2 commits into
mainfrom
dev
Jun 3, 2026
Merged

Security (Laravel CVE), Node 24 LTS migration, and deploy SSH debug fix#1205
arnonrdp merged 2 commits into
mainfrom
dev

Conversation

@arnonrdp

@arnonrdp arnonrdp commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1204. Three focused changes, all validated green on dev.

🔒 Security — CVE-2026-48019 (Laravel)

composer audit flagged laravel/framework v12.53.0 (GHSA-5vg9-5847-vvmq, patched in 12.60.0). Bumped to v12.61.0 (within ^12.0; pulls minor guzzle/flysystem/league/prompts bumps). composer audit now clean; 353 API tests pass.

🟢 Node 24 LTS migration

Resolves the "Node.js 20 actions are deprecated" warnings (verified 0 remaining):

Action Action
actions/checkout v5 docker/build-push-action v7
actions/setup-node v5 docker/login-action v4
actions/cache v5 docker/setup-buildx-action v4
github/codeql-action/* v4 docker/metadata-action v6

App now declares Node 24: engines.node >=24, .nvmrc (24), and @tsconfig/node22 → @tsconfig/node24.

🔧 Deploy SSH debug fix

deploy.yml's failure-branch debug line ${#{{ secrets.SERVER_SSH_KEY }}} interpolated the secret inline and produced a bash bad substitution. Now passes the secret via a step env: SSH_KEY and uses ${#SSH_KEY}.

Validation (on dev)

Deploy run successbuild/docker-web + build/docker-api (build-push@v7), Required Checks, Code Quality, CodeQL all green. Webapp: type-check + 170 unit tests pass on Node 24.16.0.

Note: the production deploy's docker-canary-prod SSH step is still blocked by an infra issue (server unreachable on :22 — likely a stale SERVER_HOST/IP), unrelated to these changes. The debug fix above makes that failure's output usable.

🤖 Generated with Claude Code

ninja14696 and others added 2 commits June 3, 2026 13:46
composer audit flagged laravel/framework v12.53.0 as affected by
GHSA-5vg9-5847-vvmq / CVE-2026-48019 (patched in 12.60.0). Update to
v12.61.0 (within the existing ^12.0 constraint; pulls minor bumps of guzzle,
flysystem, league/uri, laravel/prompts). composer audit now reports no
advisories and the full suite (353 tests) passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Resolve the 'Node.js 20 actions are deprecated' warnings by bumping every
JS action to its Node-24 runtime release:
- actions/checkout v4->v5, actions/setup-node v4->v5, actions/cache v4->v5
- docker/build-push-action v5->v7, docker/login-action v3->v4,
  docker/setup-buildx-action v3->v4, docker/metadata-action v5->v6
- github/codeql-action/* v3->v4

Declare Node 24 in the webapp: add engines.node >=24 and .nvmrc (24), and
migrate @tsconfig/node22 -> @tsconfig/node24 (tsconfig.node.json extends).

Also fix the deploy.yml SSH debug line: ${#{{ secrets.SERVER_SSH_KEY }}}
expanded the secret inline and produced a bash 'bad substitution' error in
the failure branch; pass the secret via a step env var and use ${#SSH_KEY}.

Verified locally on node 24.16.0: install clean, @tsconfig/node24 24.0.4,
type-check and 170 webapp unit tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@arnonrdp
arnonrdp merged commit e4b7d07 into main Jun 3, 2026
26 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.

2 participants