Skip to content

Track and triage CodeQL dependency vulnerabilities - #124

Merged
jesusmpc merged 2 commits into
mainfrom
bugfix/GH-123-track-and-triage-codeq
Sep 7, 2026
Merged

jesusmpc merged 2 commits into
mainfrom
bugfix/GH-123-track-and-triage-codeq

Conversation

@jesusmpc

@jesusmpc jesusmpc commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Closes #123

@jesusmpc jesusmpc self-assigned this Sep 7, 2026
@jesusmpc jesusmpc added the bug Something isn't working label Sep 7, 2026
Dependabot:
- Force fast-xml-parser to >=5.7.0 via override in cleanup-storage,
  closing GHSA-jmr7-xgp7-cmfj (critical) plus 5 related advisories.
- Bump js-yaml, lodash, minimatch, picomatch, flatted, brace-expansion
  and @humanfs/node transitive deps in cleanup-storage to their patched
  versions via nested overrides (scoped per parent so old and new major
  lines each get their own in-major patch, not a forced cross-major
  bump). uuid's vulnerable copy was eliminated entirely by a fresh
  resolve pulling in @azure/msal-node 5.6.0, which no longer depends on
  it.

CodeQL:
- js/insufficient-password-hash: rewrote verifyAIPassword to drop
  SHA-256 hashing entirely, comparing a length-prefixed, zero-padded
  fixed-size buffer with timingSafeEqual instead. This also fixes a
  latent correctness bug in the old hash-free padding approach we
  considered (a value zero-padded to the same length as the secret
  could otherwise collide).
- js/missing-rate-limiting: replaced the hand-rolled in-memory bucket
  limiter for POST /ai/password/validate with the same
  express-rate-limit-backed factory already used for the other rate
  limited routes.
- docker:S6505 / githubactions:S6505 (script execution during
  install): cleanup-storage/Dockerfile now uses `npm ci
  --ignore-scripts` (no native or lifecycle-script deps there).
  code/Dockerfile, code-verify.yml and code/package.json's "verify"
  script now use `npm ci --ignore-scripts` followed by an explicit
  `npm rebuild canvas sharp` plus the project's own copy:assets /
  apply:patches steps, replacing what its postinstall hook used to do,
  while blocking arbitrary lifecycle scripts from any other dependency.
- docker:S8543 (lockfile not enforced): cleanup-storage/Dockerfile
  switched from `npm install` to `npm ci`.

Not yet addressed: image-size (no upstream fix available for the two
open DoS advisories) and @ai-sdk/provider-utils (low severity, no
patched version in its 3.0.x line yet) - tracked as accepted risk for
now.
@sonarqubecloud

sonarqubecloud Bot commented Sep 7, 2026

Copy link
Copy Markdown

@jesusmpc
jesusmpc marked this pull request as ready for review September 7, 2026 07:22
@jesusmpc
jesusmpc merged commit 01d7be9 into main Sep 7, 2026
11 checks passed
@jesusmpc
jesusmpc deployed to azure-develop September 7, 2026 07:23 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
azure-develop — 9ead23e4 Deployed Sep 7, 2026 by jesusmpc via Deploy to Container Apps #490
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Track and triage CodeQL dependency vulnerabilities

1 participant