Skip to content

misc: resolve all 73 open Dependabot alerts - #171

Merged
prkhrkat merged 1 commit into
mainfrom
dependabot-safe-patches
Aug 3, 2026
Merged

misc: resolve all 73 open Dependabot alerts#171
prkhrkat merged 1 commit into
mainfrom
dependabot-safe-patches

Conversation

@prkhrkat

@prkhrkat prkhrkat commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves all 73 open Dependabot alerts across 19 packages (2 critical, 21 high, remainder medium/low) by bumping direct dependencies and adding/updating npm overrides.

Direct dependency bumps

Package Before After Alerts addressed
axios 1.13.6 1.19.0 28 — proxy credential leak, SSRF, prototype pollution, ReDoS, DoS
body-parser 1.20.4 1.20.6 limit-bypass DoS
js-yaml 3.14.2 3.15.1 merge-key quadratic DoS
typeorm 0.3.28 0.3.31 orderBy SQL injection, migration codegen injection

Override bumps (transitive)

Nearly all remaining alerts come from a single chain: notifme-sdk → node-pushnotifications → firebase-admin / @google-cloud/*. The intermediate packages pin old ranges, so these are fixed via overrides.

Package Before After Notes
protobufjs 7.5.3 7.6.5 12 alerts, incl. code injection
@protobufjs/utf8 1.1.0 1.1.2 overlong UTF-8 decoding
nodemailer 7.0.13 9.0.3 raw-option file read/SSRF, CRLF header injection, OAuth2 TLS
websocket-driver 0.7.4 0.7.5 critical — message corruption
@grpc/grpc-js 1.13.4 1.14.4 malformed-request crash
lodash 4.17.23 4.18.1
form-data 4.0.5 4.0.6 CRLF injection
fast-xml-parser 5.5.9 5.10.1
fast-xml-builder 1.1.4 1.3.0 attribute-quote bypass
follow-redirects 1.15.11 1.16.0
qs 6.15.0 6.15.3 stringify DoS
uuid 8.3.2 / 9.0.1 11.1.1 missing buffer bounds check
path-to-regexp@0.1 0.1.12 0.1.13 ReDoS, via express 4
@tootallnate/once 2.0.0 2.0.1
brace-expansion@1 / @2 1.1.12 / 2.0.2 1.1.18 / 2.1.4 unbounded expansion OOM
js-yaml@4 4.1.1 4.3.1 mocha, dev-only

The node-gcm-scoped axios override is replaced by a top-level one, so a single deduped copy is installed instead of two independently-pinned ones that would drift and re-alert.

Verification

  • npm audit0 vulnerabilities
  • Each of the 19 packages checked in package-lock.json against the exact first_patched_version from its alert — all at or above it
  • npm run build-ts compiles clean
  • Test suite passes (6 assertions across getCommitsFromGitTriggers.test.ts and notificationService.test.ts; the other 5 files in src/tests/ were already empty suites before this change)
  • notifme-sdk verified to still construct both SMTP and SES transports against nodemailer 9

Reviewer attention

nodemailer 7 → 9 is a forced major bump. notifme-sdk declares nodemailer: 6.9.10; the override pushes it to 9.0.3. This extends the pre-existing v7 override rather than introducing one. The two APIs notifme-sdk actually uses — nodemailer.createTransport() (SMTP) and nodemailer/lib/mail-composer (SES) — were smoke-tested and construct correctly, but no real mail was sent. A live SMTP/SES send test before release is recommended.

uuid 8/9 → 11 is also a forced major, applied to the Google Cloud libraries. There is no backport on the 8.x/9.x lines, so v11 is the only patched option. It dedupes to a single copy and builds clean; the affected code path (push notifications) is not one this service exercises.

🤖 Generated with Claude Code

Bumps direct dependencies and adds/updates npm overrides so every
package flagged by Dependabot resolves at or above its patched version.

Direct dependencies:
- axios      1.13.6 -> 1.19.0  (28 alerts: proxy credential leak, SSRF,
                                prototype pollution, ReDoS, DoS)
- body-parser 1.20.4 -> 1.20.6 (limit bypass DoS)
- js-yaml     3.14.2 -> 3.15.1 (merge-key quadratic DoS)
- typeorm     0.3.28 -> 0.3.31 (orderBy SQL injection, migration codegen
                                injection)

Overrides (transitive, mostly via notifme-sdk -> node-pushnotifications
-> firebase-admin/google-cloud):
- protobufjs        7.5.3  -> 7.6.5   (12 alerts, incl. code injection)
- @protobufjs/utf8  1.1.0  -> 1.1.2
- nodemailer        7.0.13 -> 9.0.3   (raw-option file read/SSRF, CRLF
                                       header injection, OAuth2 TLS)
- websocket-driver  0.7.4  -> 0.7.5   (critical: message corruption)
- @grpc/grpc-js     1.13.4 -> 1.14.4  (malformed-request crash)
- lodash            4.17.23 -> 4.18.1
- form-data         4.0.5  -> 4.0.6   (CRLF injection)
- fast-xml-parser   5.5.9  -> 5.10.1
- fast-xml-builder  1.1.4  -> 1.3.0   (attribute-quote bypass)
- follow-redirects  1.15.11 -> 1.16.0
- qs                6.15.0 -> 6.15.3  (stringify DoS)
- uuid              8.3.2/9.0.1 -> 11.1.1 (missing buffer bounds check)
- path-to-regexp@0.1 -> 0.1.13        (ReDoS via express 4)
- @tootallnate/once -> 2.0.1
- brace-expansion@1 -> 1.1.18, @2 -> 2.1.4 (unbounded expansion OOM)
- js-yaml@4         -> 4.3.1          (mocha, dev-only)

The node-gcm-scoped axios override is replaced by a top-level one so a
single deduped copy is installed instead of two.

Verified: npm audit reports 0 vulnerabilities, tsc build succeeds, test
suite passes, and notifme-sdk still constructs SMTP and SES transports
against nodemailer 9.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@prkhrkat prkhrkat changed the title fix: resolve all 73 open Dependabot alerts misc: resolve all 73 open Dependabot alerts Aug 3, 2026

@arunjaindev arunjaindev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Merge approval

@prkhrkat
prkhrkat merged commit 09b08b1 into main Aug 3, 2026
5 checks passed
@prkhrkat
prkhrkat deleted the dependabot-safe-patches branch August 3, 2026 10:23
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.

3 participants