Skip to content

fix(deps): patch security vulnerabilities, bump ponder to 0.16.6#1897

Merged
shrugs merged 2 commits intomainfrom
worktree-fix+deps
Apr 8, 2026
Merged

fix(deps): patch security vulnerabilities, bump ponder to 0.16.6#1897
shrugs merged 2 commits intomainfrom
worktree-fix+deps

Conversation

@shrugs
Copy link
Copy Markdown
Collaborator

@shrugs shrugs commented Apr 8, 2026

Summary

patches moderate+ vulnerabilities reported by pnpm audit and bumps ponder to latest:

  • hono ^4.12.7 → ^4.12.12 — cookie name validation, IPv4-mapped IPv6 IP matching, path traversal in toSSG(), serveStatic middleware bypass
  • @hono/node-server ^1.19.10 → ^1.19.13 — serveStatic middleware bypass via repeated slashes
  • ponder 0.16.3 → 0.16.6, @ponder/client 0.16.3 → 0.16.6, @ponder/utils 0.2.16 → 0.2.18
  • updated stale ponder>@hono/node-server override floor to match patched minimum (1.19.13)

ignored

  • drizzle-orm CVE-2026-39356 (SQL injection via dynamic identifiers) — not exploitable in ENSNode; we use only static Ponder schema objects, never pass user input to sql.identifier() or .as(). ignored via pnpm.auditConfig.ignoreCves to avoid a fragile drizzle version bump that breaks ponder-subgraph DTS generation.

Test plan

  • pnpm audit --audit-level=moderate exits 0 (1 ignored, 0 actionable)
  • pnpm typecheck passes all packages
  • pnpm test passes (118 files, 1325 tests)

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings April 8, 2026 16:46
@shrugs shrugs requested a review from a team as a code owner April 8, 2026 16:46
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
admin.ensnode.io Ready Ready Preview, Comment Apr 8, 2026 4:57pm
ensnode.io Ready Ready Preview, Comment Apr 8, 2026 4:57pm
ensrainbow.io Ready Ready Preview, Comment Apr 8, 2026 4:57pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 8, 2026

⚠️ No Changeset found

Latest commit: b9f7459

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

Warning

Rate limit exceeded

@shrugs has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 22 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 4 minutes and 22 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7861157e-10c2-41f4-a7ff-3efdf53fb326

📥 Commits

Reviewing files that changed from the base of the PR and between 5b4f1a7 and b9f7459.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • apps/ensapi/package.json
  • apps/ensrainbow/package.json
  • apps/fallback-ensapi/package.json
  • package.json
  • pnpm-workspace.yaml
📝 Walkthrough

Walkthrough

This PR updates several dependencies across the monorepo: @hono/node-server from ^1.19.10 to ^1.19.13 in three app packages, drizzle-orm from 0.41.0 to 0.45.2 with an added pnpm override, and hono from ^4.12.7 to ^4.12.12 in the workspace catalog.

Changes

Cohort / File(s) Summary
Hono Node Server Bump
apps/ensapi/package.json, apps/ensrainbow/package.json, apps/fallback-ensapi/package.json
Updated @hono/node-server dependency from ^1.19.10 to ^1.19.13 across three app packages.
Drizzle ORM Updates
packages/ponder-subgraph/package.json, pnpm-workspace.yaml
Upgraded drizzle-orm from 0.41.0 to 0.45.2 and added pnpm override in root package.json to enforce ^0.45.2 for any version below it.
Workspace Catalog
pnpm-workspace.yaml
Updated hono in catalog from ^4.12.7 to ^4.12.12.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 Hop along with versions new,
Dependencies fresh, the whole workspace too,
Hono soars to heights unheard,
Drizzle ORMs heard 'round the world,
Update the catalogs, let systems be merry!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately summarizes the main change: patching security vulnerabilities and bumping dependencies. However, it mentions 'ponder to 0.16.6' which is listed in the description but doesn't appear in the raw_summary—the main focus is on fixing vulnerabilities in hono, @hono/node-server, and drizzle-orm.
Description check ✅ Passed The description follows the required template with complete Summary, Why, Testing, and Notes sections. It provides detailed vulnerability information, test results, and justifies the drizzle-orm decision. All blocking checklist items are marked as satisfied.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worktree-fix+deps

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.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 8, 2026

Greptile Summary

This PR patches moderate+ security vulnerabilities in three dependencies — drizzle-orm (SQL injection via improperly escaped identifiers), hono (cookie validation, path traversal, serveStatic bypass), and @hono/node-server (serveStatic bypass via repeated slashes) — by bumping their versions across the monorepo and adding a pnpm.overrides entry to force the patched drizzle-orm version even where ponder pins the older version.

Key changes:

  • drizzle-orm catalog and packages/ponder-subgraph direct dep bumped 0.41.00.45.2; pnpm.overrides entry drizzle-orm@<0.45.2: ^0.45.2 added to cover ponder's transitive pin
  • hono catalog bumped ^4.12.7^4.12.12; resolved in lock file to 4.12.12
  • @hono/node-server bumped ^1.19.10^1.19.13 in all three app package.jsons; ponder's snapshot also resolves to 1.19.13 via the existing override
  • The approach (direct bumps + workspace-level overrides for transitive pinning) is consistent with the repo's existing pattern for forced upgrades

Confidence Score: 5/5

Safe to merge — targeted security patch upgrades with no logic changes, confirmed by 1325 passing tests and a clean typecheck

All changes are dependency version bumps with accompanying lock file updates. The upgrade strategy (direct bumps + pnpm.overrides for transitive pins) is consistent with the repo's established pattern. The lock file confirms all three patched packages resolve to their new minimums. The sole finding is a P2 style suggestion to update the stale floor in an existing override, which does not block merge.

package.json — the ponder>@hono/node-server override floor is stale (1.19.10 vs patched minimum 1.19.13), though the lock file already pins to 1.19.13

Vulnerabilities

  • SQL injection (GHSA-gpj5-g38j-94v9): Patched by upgrading drizzle-orm from 0.41.0 to 0.45.2 and adding a pnpm.overrides entry to enforce the patched version transitively through ponder.
  • Hono serveStatic bypass & path traversal: Patched by upgrading hono from ^4.12.7 to ^4.12.12 and @hono/node-server from ^1.19.10 to ^1.19.13 across all three app packages.
  • The stale ponder>@hono/node-server@<1.19.10: ^1.19.10 override (floor 1.19.10 rather than 1.19.13) is a minor gap; the lock file already pins to 1.19.13, but the override could theoretically permit a vulnerable version on re-resolution.

Important Files Changed

Filename Overview
package.json Adds drizzle-orm@<0.45.2: ^0.45.2 override to force the patched version for ponder's transitive dependency; the existing ponder>@hono/node-server@<1.19.10: ^1.19.10 override is now stale but harmless since ponder resolves to 1.19.13 in the lock file
pnpm-workspace.yaml Catalog versions bumped — drizzle-orm 0.41.0 → 0.45.2 and hono ^4.12.7 → ^4.12.12 — straightforward and correct
packages/ponder-subgraph/package.json Pins drizzle-orm direct dep at 0.45.2 (was 0.41.0); still an exact pin rather than a range, which means future security patches require manual updates, but this is consistent with the pre-existing pattern
apps/ensapi/package.json Bumps @hono/node-server from ^1.19.10 to ^1.19.13 to patch serveStatic bypass vulnerability
apps/ensrainbow/package.json Bumps @hono/node-server from ^1.19.10 to ^1.19.13 to patch serveStatic bypass vulnerability
apps/fallback-ensapi/package.json Bumps @hono/node-server from ^1.19.10 to ^1.19.13 to patch serveStatic bypass vulnerability
pnpm-lock.yaml Lock file correctly reflects all bumped versions — hono@4.12.12, @hono/node-server@1.19.13, drizzle-orm@0.45.2 — across all importers and snapshots including ponder's transitive dependencies

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pnpm audit --audit-level=moderate] --> B{Vulnerabilities Found}
    B --> C[drizzle-orm 0.41.0\nSQL injection GHSA-gpj5-g38j-94v9]
    B --> D[hono 4.12.7\ncookie and path traversal issues]
    B --> E[hono-node-server 1.19.10\nserveStatic bypass GHSA-92pp-h63x-v22m]

    C --> F[ponder-subgraph package.json\ndrizzle-orm 0.41.0 to 0.45.2]
    C --> G[pnpm-workspace.yaml catalog\ndrizzle-orm 0.41.0 to 0.45.2]
    C --> H[root package.json overrides\ndrizzle-orm lt 0.45.2 forces 0.45.2\ncovers ponder transitive dep]

    D --> I[pnpm-workspace.yaml catalog\nhono 4.12.7 to 4.12.12]

    E --> J[apps/ensapi package.json\n1.19.10 to 1.19.13]
    E --> K[apps/ensrainbow package.json\n1.19.10 to 1.19.13]
    E --> L[apps/fallback-ensapi package.json\n1.19.10 to 1.19.13]

    F & G & H & I & J & K & L --> M[pnpm-lock.yaml updated\nAll deps resolve to patched versions]
    M --> N[pnpm audit: 0 moderate+ vulnerabilities]
Loading

Reviews (1): Last reviewed commit: "fix(deps): patch drizzle-orm, hono, and ..." | Re-trigger Greptile

Comment thread package.json Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates vulnerable dependencies across the monorepo to versions that address pnpm audit moderate+ findings, primarily by bumping shared catalog versions and adding a pnpm override to break a transitive pin.

Changes:

  • Bump drizzle-orm to 0.45.2 and hono to ^4.12.12 via the workspace catalog.
  • Bump @hono/node-server to ^1.19.13 in affected apps.
  • Add a pnpm override to force drizzle-orm resolution to >=0.45.2 even when transitively pinned lower.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pnpm-workspace.yaml Updates catalog-pinned versions for drizzle-orm and hono.
package.json Adds a pnpm override to force drizzle-orm upgrades for vulnerable transitive ranges.
pnpm-lock.yaml Lockfile refresh reflecting updated drizzle-orm, hono, and @hono/node-server resolutions + overrides.
packages/ponder-subgraph/package.json Updates direct drizzle-orm dependency to 0.45.2.
apps/fallback-ensapi/package.json Bumps @hono/node-server to ^1.19.13.
apps/ensrainbow/package.json Bumps @hono/node-server to ^1.19.13.
apps/ensapi/package.json Bumps @hono/node-server to ^1.19.13.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/ponder-subgraph/package.json Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/ponder-subgraph/package.json`:
- Line 47: The package.json currently pins "drizzle-orm" to "0.45.2"; replace
that hard-coded version with the workspace catalog reference used elsewhere in
this repo (follow the same pattern as `@ponder/client` and `@types/node`) so the
dependency consumes the centralized pnpm catalog entry for drizzle-orm; update
the "drizzle-orm" entry in package.json accordingly.

In `@pnpm-workspace.yaml`:
- Around line 22-23: Add `@hono/node-server` to the workspace catalog and switch
the three app manifests (ensapi, ensrainbow, fallback-ensapi) to consume it via
the catalog entry; specifically, add an entry for "@hono/node-server" in the
catalog block with the desired version (match the currently pinned version used
in those apps), then replace the direct pinned dependency in each app manifest
with "catalog:`@hono/node-server`" so all packages use the centralized version.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d5cbfc92-00fa-434e-bdb5-11c6e1eeadb6

📥 Commits

Reviewing files that changed from the base of the PR and between 0cc51b3 and 5b4f1a7.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • apps/ensapi/package.json
  • apps/ensrainbow/package.json
  • apps/fallback-ensapi/package.json
  • package.json
  • packages/ponder-subgraph/package.json
  • pnpm-workspace.yaml

Comment thread packages/ponder-subgraph/package.json Outdated
Comment thread pnpm-workspace.yaml Outdated
- hono: ^4.12.7 → ^4.12.12 (cookie, IP matching, path traversal, serveStatic bypass)
- @hono/node-server: ^1.19.10 → ^1.19.13 (serveStatic middleware bypass)
- ponder: 0.16.3 → 0.16.6, @ponder/client: 0.16.3 → 0.16.6, @ponder/utils: 0.2.16 → 0.2.18
- updated stale ponder>@hono/node-server override floor to match patched minimum
- ignored CVE-2026-39356 (drizzle-orm SQL injection via dynamic identifiers) —
  not exploitable in ENSNode since we use only static Ponder schema objects

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 8, 2026 16:54
@shrugs shrugs force-pushed the worktree-fix+deps branch from 839daf3 to 21dcf60 Compare April 8, 2026 16:54
@shrugs shrugs changed the title fix(deps): patch security vulnerabilities in drizzle-orm, hono, @hono/node-server fix(deps): patch security vulnerabilities, bump ponder to 0.16.6 Apr 8, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@vercel vercel bot left a comment

Choose a reason for hiding this comment

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

Additional Suggestion:

ponder-subgraph pins drizzle-orm to hardcoded 0.41.0 instead of using catalog reference, preventing centralized dependency management

Fix on Vercel

Comment thread package.json
Copy link
Copy Markdown
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

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

@shrugs Looks good, thanks 🫡

@shrugs shrugs merged commit 66ddd69 into main Apr 8, 2026
18 checks passed
@shrugs shrugs deleted the worktree-fix+deps branch April 8, 2026 19:21
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