Skip to content

security(deps): resolve 4 Dependabot alerts (2 critical, 2 high)#99

Merged
intech merged 2 commits intomainfrom
security/dependabot-critical-fixes-2026-04-19
Apr 19, 2026
Merged

security(deps): resolve 4 Dependabot alerts (2 critical, 2 high)#99
intech merged 2 commits intomainfrom
security/dependabot-critical-fixes-2026-04-19

Conversation

@intech
Copy link
Copy Markdown
Contributor

@intech intech commented Apr 19, 2026

Summary

Resolves 4 open Dependabot alerts on the default branch.

# Severity Package Vulnerable Patched Type Advisory
18 Critical protobufjs < 7.5.5 7.5.5 transitive GHSA-xq3m-2v4x-88gg
16 Critical protobufjs >= 8.0.0, < 8.0.1 8.0.1 transitive GHSA-xq3m-2v4x-88gg
15 High basic-ftp <= 5.2.1 5.2.2 transitive (dev) GHSA-6v7q-wjvx-w8wg
14 High basic-ftp = 5.2.0 5.2.1 transitive (dev) GHSA-chqc-8p9q-pq6q

Impact analysis

  • protobufjs reaches runtime via @connectum/otel through two paths:
    • @grpc/grpc-js -> @grpc/proto-loader -> protobufjs@7.5.4 (gRPC exporters)
    • @opentelemetry/otlp-transformer -> protobufjs@8.0.1 (OTLP transformer)
  • basic-ftp is dev-only, reachable only via @exodus/test -> puppeteer-core -> @puppeteer/browsers -> proxy-agent -> pac-proxy-agent -> get-uri. Not shipped to consumers, but still flagged on default branch.

Strategy

All four alerts are transitive. Fixed via pnpm.overrides in the monorepo root package.json:

-      "basic-ftp@<5.2.0": "5.2.0",
+      "basic-ftp@<5.2.2": "5.2.2",
       "rollup@>=4.0.0 <4.59.0": "4.59.0",
       ...
-      "brace-expansion@>=4.0.0 <5.0.5": "5.0.5"
+      "brace-expansion@>=4.0.0 <5.0.5": "5.0.5",
+      "protobufjs@<7.5.5": "7.5.5",
+      "protobufjs@>=8.0.0 <8.0.1": "8.0.1"

The pre-existing basic-ftp@<5.2.0: 5.2.0 override was stale (it pinned the now-vulnerable 5.2.0); it has been tightened to <5.2.2 -> 5.2.2 to cover both high-severity advisories.

All bumps are patch-level; no API changes in the upstream packages.

Verification

After pnpm install:

basic-ftp      5.2.2   (was 5.2.0)
protobufjs     7.5.5   (was 7.5.4, via @grpc/proto-loader)
protobufjs     8.0.1   (unchanged, already patched; override prevents regression)

Changesets

  • @connectum/otel: patch — the only published package whose runtime dependency graph is affected.
  • basic-ftp changes are dev-only and do not require a changeset.

Coordination

Does not conflict with PR #98 (OTel 0.212 -> 0.215 bump, currently in auto-merge queue). This PR is based on main after #98-free state, and touches only package.json overrides + pnpm-lock.yaml + a new changeset. After #98 merges, the overrides remain valid: OTel 0.215 already pulls protobufjs 8.0.1; the override only constrains older versions.

Test plan

  • pnpm install succeeds; lockfile updated
  • L2: pnpm build + pnpm typecheck + pnpm test pass (29 turbo tasks green)
  • L3: pnpm lint passes (13 packages, biome clean)
  • pnpm why confirms patched versions resolved across the monorepo
  • CI checks pass on this PR
  • All 4 Dependabot alerts auto-close after merge

Generated with Claude Code

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 19, 2026

Warning

Rate limit exceeded

@intech has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 30 minutes and 41 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 30 minutes and 41 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 758d88ea-0f94-45f8-ac6d-f21b55eabe37

📥 Commits

Reviewing files that changed from the base of the PR and between 15f4dbb and 999b931.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • .changeset/security-protobufjs-basic-ftp-fixes.md
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch security/dependabot-critical-fixes-2026-04-19

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 19, 2026

Open in StackBlitz

@connectum/auth

npm i https://pkg.pr.new/@connectum/auth@99

@connectum/cli

npm i https://pkg.pr.new/@connectum/cli@99

@connectum/core

npm i https://pkg.pr.new/@connectum/core@99

@connectum/events

npm i https://pkg.pr.new/@connectum/events@99

@connectum/events-amqp

npm i https://pkg.pr.new/@connectum/events-amqp@99

@connectum/events-kafka

npm i https://pkg.pr.new/@connectum/events-kafka@99

@connectum/events-nats

npm i https://pkg.pr.new/@connectum/events-nats@99

@connectum/events-redis

npm i https://pkg.pr.new/@connectum/events-redis@99

@connectum/healthcheck

npm i https://pkg.pr.new/@connectum/healthcheck@99

@connectum/interceptors

npm i https://pkg.pr.new/@connectum/interceptors@99

@connectum/otel

npm i https://pkg.pr.new/@connectum/otel@99

@connectum/reflection

npm i https://pkg.pr.new/@connectum/reflection@99

@connectum/testing

npm i https://pkg.pr.new/@connectum/testing@99

commit: 999b931

@intech intech self-assigned this Apr 19, 2026
intech and others added 2 commits April 19, 2026 04:05
Force patched transitive versions via pnpm overrides:

- protobufjs <7.5.5       -> 7.5.5  (GHSA-xq3m-2v4x-88gg, Critical)
- protobufjs >=8.0.0 <8.0.1 -> 8.0.1 (GHSA-xq3m-2v4x-88gg, Critical)
- basic-ftp <5.2.2        -> 5.2.2  (GHSA-chqc-8p9q-pq6q + GHSA-6v7q-wjvx-w8wg, High)

protobufjs reaches runtime via @connectum/otel through @grpc/proto-loader
and @opentelemetry/otlp-transformer. basic-ftp is dev-only via @exodus/test
-> puppeteer-core.

Quality gates: pnpm build + typecheck + test (L2) + lint (L3) all pass.
No runtime API changes.
PR #98 (OTel 0.215 bump) merged into main; rebased this branch
and regenerated pnpm-lock.yaml to reconcile both sets of changes
(security overrides + OTel version bumps).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@intech intech force-pushed the security/dependabot-critical-fixes-2026-04-19 branch from 37ee3de to 999b931 Compare April 19, 2026 00:06
@intech intech merged commit 5b3f01d into main Apr 19, 2026
13 checks passed
@intech intech deleted the security/dependabot-critical-fixes-2026-04-19 branch April 19, 2026 00:18
intech pushed a commit that referenced this pull request Apr 19, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`main` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `main`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @connectum/auth@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/events@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/events-amqp@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/events@1.0.0-rc.11

## @connectum/events-kafka@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/events@1.0.0-rc.11

## @connectum/events-nats@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/events@1.0.0-rc.11

## @connectum/events-redis@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/events@1.0.0-rc.11

## @connectum/healthcheck@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/interceptors@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/otel@1.0.0-rc.11

### Patch Changes

- [#98](#98)
[`15f4dbb`](15f4dbb)
Thanks [@intech](https://github.com/intech)! - Bump OpenTelemetry SDK to
0.215.0 / v2.7.0 and semantic conventions to 1.40.0.

    Highlights (auto-gain, no API changes in `@connectum/otel`):

- Hand-rolled `ProtobufLogsSerializer` (PR
open-telemetry/opentelemetry-js#6390, v0.215.0) — +67–73% throughput for
typical batch sizes (100–1024 logs); +72% at 512 logs, +67% at 1024 logs
per upstream benchmarks in PR
[#6228](https://github.com/Connectum-Framework/connectum/issues/6228)
- `cardinalitySelector` support in `PeriodicExportingMetricReader` (PR
[#6460](https://github.com/Connectum-Framework/connectum/issues/6460),
v2.7.0) — protection against cardinality explosion on high-variance
attributes
- SDK self-observability: span + log creation metrics (PRs
[#6213](https://github.com/Connectum-Framework/connectum/issues/6213),
[#6433](https://github.com/Connectum-Framework/connectum/issues/6433))
- Internal `mergeTwoObjects` safety checks (PR
[#6587](https://github.com/Connectum-Framework/connectum/issues/6587),
v2.7.0) — additional guards against unsafe key merges
- Updated semantic conventions (semconv v1.40.0) — stable RPC attributes
including `rpc.response.status_code` and `error.type` (stabilized in
semconv v1.39.0)

Breaking changes upstream that do NOT affect `@connectum/otel`
(verified):

- Custom `LogRecordExporter.forceFlush()` requirement — not applicable
(we use stock exporters only)
- gRPC exporter config `headers` field removal — not applicable
(`CollectorOptions` has no `headers`)

- [#99](#99)
[`5b3f01d`](5b3f01d)
Thanks [@intech](https://github.com/intech)! - security(deps): force
patched versions of protobufjs and basic-ftp via pnpm overrides

    Resolves Dependabot alerts on main branch:

- **GHSA-xq3m-2v4x-88gg** (Critical) — Arbitrary code execution in
protobufjs &lt; 7.5.5
        (transitive via `@grpc/proto-loader` under OTel gRPC exporters).
- **GHSA-xq3m-2v4x-88gg** (Critical) — Arbitrary code execution in
protobufjs 8.0.0
        (transitive via `@opentelemetry/otlp-transformer`).
- **GHSA-chqc-8p9q-pq6q** (High) — basic-ftp 5.2.0 FTP Command Injection
via CRLF
        (dev-only transitive via `@exodus/test` → puppeteer-core).
- **GHSA-6v7q-wjvx-w8wg** (High) — basic-ftp ≤ 5.2.1 incomplete CRLF
protection
        (dev-only transitive via `@exodus/test` → puppeteer-core).

No runtime API changes. Only `pnpm.overrides` in the monorepo root were
adjusted
    to force patched transitive versions: `protobufjs@<7.5.5 → 7.5.5`,
    `protobufjs@>=8.0.0 <8.0.1 → 8.0.1`, `basic-ftp@<5.2.2 → 5.2.2`.

## @connectum/reflection@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/testing@1.0.0-rc.11

### Patch Changes

-   Updated dependencies \[]:
    -   @connectum/core@1.0.0-rc.11

## @connectum/cli@1.0.0-rc.11



## @connectum/core@1.0.0-rc.11

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

1 participant