Skip to content

chore: maintenance updates#116

Merged
gibaros merged 9 commits intomainfrom
chore/deps-security-20260223
Feb 26, 2026
Merged

chore: maintenance updates#116
gibaros merged 9 commits intomainfrom
chore/deps-security-20260223

Conversation

@gibaros
Copy link
Copy Markdown
Contributor

@gibaros gibaros commented Feb 23, 2026

🔒 Security & Dependency Updates


Summary

This PR updates dependencies and applies security patches to address vulnerabilities.

Confidence Score: 100% ✅ (Standard PR - ready for review)


🐳 Docker Image Updates

Docker CVE Suppressions

Added 3 Docker-specific vulnerability suppression(s) to .grype.yaml.
These are Alpine (apk), Node.js binary, or base image npm vulnerabilities that cannot be fixed via application dependencies.

Docker Image Scan Results

Category Count
npm (application) 0
npm (base image) 15
Alpine (apk) 4
Binary (Node.js) 0
Total 19

📋 Audit CI Allowlist Updates

Added 4 unfixable vulnerability ID(s) to audit-ci.jsonc allowlist.
These are transitive vulnerabilities in upstream dependencies that cannot be resolved here.

GHSA ID
GHSA-m7jm-9gc2-mpf2
GHSA-jmr7-xgp7-cmfj
GHSA-2g4f-4pwh-qvx6
GHSA-3ppc-4f35-3m26

🔍 Grype npm Vulnerability Ignores

Added 4 unfixable npm vulnerability ignore(s) to .grype.yaml.
These are transitive npm vulnerabilities that are also checked by Grype CI scans.

GHSA/CVE ID Package
GHSA-m7jm-9gc2-mpf2 fast-xml-parser
GHSA-jmr7-xgp7-cmfj fast-xml-parser
GHSA-2g4f-4pwh-qvx6 unknown
GHSA-9965-vmph-33xx unknown

✅ Validation Results

No validation checks were run.


🤖 Automated Changes

This PR was automatically generated by ml-repo-maintenance.

Changed Files:

  • package.json - Updated dependency versions and added npm overrides
  • .grype.yaml - Added Docker vulnerability suppressions and npm vulnerability ignores

Review Checklist:

  • Review dependency updates for breaking changes
  • Review security patches
  • Check test coverage
  • Verify build artifacts

🤖 Generated with ml-repo-maintenance

Co-Authored-By: ml-repo-maintenance noreply@mojaloop.org

- Added 3 Docker CVE suppression(s) to .grype.yaml
- Added 4 GHSA ID(s) to audit-ci.jsonc allowlist
- Added 4 npm vulnerability ignore(s) to .grype.yaml
- Confidence score: 100%

🤖 Generated with ml-repo-maintenance

Co-Authored-By: ml-repo-maintenance <noreply@mojaloop.org>
gibaros and others added 5 commits February 23, 2026 00:59
…remove brace-expansion 5.0.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… update CI orb to 1.1.16

Cast request.headers to Record<string, string> for compatibility with
@hapi/hapi 21.4.6 which changed header types to include string[] | undefined.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Orb version 1.1.16 has a bug where the Grype scan job
requires only Setup instead of Build, causing it to fail
because the Docker image hasn't been built yet.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add parentheses around type assertions for prettier compliance,
and update outdated dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gibaros
Copy link
Copy Markdown
Contributor Author

gibaros commented Feb 26, 2026

Regarding the code changes, they are required due to:

A breaking change on the patch update to @hapi/hapi

PR #4562 by damusix, titled "fix: auth typings and reduced type
ambiguity", was merged on 2026-02-18 and released in v21.4.5.

The PR description says: "Remove ambiguous types" — which is exactly
what happened. It replaced permissive any types with stricter ones.

The exact diff in lib/types/request.d.ts

The key change (v21.4.4...v21.4.5 comparison):

  • Headers: Record<string, any>;
  • Headers: Record<string, string | string[] | undefined>;
  • Params: Record<string, any>;
  • Params: Record<string, string>;

export interface RequestQuery {

Why it's breaking

  • In 21.4.4, request.headers['X-Something'] returned any, so const
    foo: string = request.headers['X-Something'] compiled with no
    complaints.
  • In 21.4.5+, it returns string | string[] | undefined, so the same
    line is now a TypeScript error — you need a cast or type guard.

This is a narrowing of a public type contract in a patch release,
which violates semver. Patch versions should be backwards-compatible
bug fixes.

Links

gibaros and others added 3 commits February 26, 2026 00:36
…rrides

Add version-specific npm overrides for vulnerable minimatch versions:
- minimatch@3.0.5 → 3.1.5
- minimatch@3.1.2 → 3.1.5
- minimatch@5.1.6 → 5.1.9
- minimatch@7.4.6 → 7.4.9

Remove GHSA-3ppc-4f35-3m26 from audit-ci.jsonc allowlist (now patched).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Member

@elnyry-sam-k elnyry-sam-k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@gibaros gibaros merged commit 455138f into main Feb 26, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants