Skip to content

chore(security): patch hono CORS + undici TLS advisories#73

Merged
olivrg merged 2 commits into
mainfrom
chore/audit-hono-undici
Jun 19, 2026
Merged

chore(security): patch hono CORS + undici TLS advisories#73
olivrg merged 2 commits into
mainfrom
chore/audit-hono-undici

Conversation

@olivrg

@olivrg olivrg commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Description

Clears two high advisories that fail the pnpm audit --audit-level=high CI gate. Both are real upgrades, not audit ignores.

  • hono 4.12.14 → 4.12.26 (direct dep, packages/proxy): GHSA-88fw-hqm2-52qc, CORS middleware reflects any Origin with credentials on the wildcard default (patched ≥4.12.25). Helio's sideband rejects Origin headers and does not use the permissive CORS default, but the gate flags the version regardless.
  • undici override ≥7.28.0 (transitive, dashboard > jsdom > undici, dev/test only): GHSA-vmh5-mc38-953g, TLS cert-validation bypass in the SOCKS5 ProxyAgent (patched ≥7.28.0). A jsdom bump doesn't help — latest jsdom still declares undici@^7.25.0 — so force the patched range via pnpm.overrides, matching the existing form-data override.

Total audit findings 24 → 8; remaining high is the pre-existing esbuild/vite ignore tracked by #64. Proxy suite 1575 green, build + typecheck clean.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (no functional changes)
  • Documentation
  • CI / build / tooling

Packages Affected

  • packages/proxy
  • packages/dashboard
  • packages/python-sdk
  • Root config / monorepo tooling
  • docs/
  • examples/

Checklist

  • I have read CONTRIBUTING.md
  • My code follows the existing style (ESLint + Prettier pass)
  • TypeScript strict mode — no any types or @ts-ignore without justification
  • I have added or updated tests for my changes
  • All CI checks pass (pnpm secrets:scan, pnpm docs:check:ci, pnpm audit --audit-level=high, pnpm build, pnpm lint, pnpm format:check, pnpm typecheck, pnpm test)
  • I have updated documentation if this changes user-facing behavior
  • Commit messages follow Conventional Commits (e.g. feat:, fix:, docs:)

How to Test

  1. pnpm install && pnpm audit --audit-level=high — exits 0 (was: 3 high, 1 ignored).
  2. pnpm --filter @gethelio/proxy build && pnpm -r typecheck && pnpm --filter @gethelio/proxy test — build + typecheck clean, 1575 tests pass.

Refs #64 (same audit-gate-hygiene theme).

Additional Context

olivrg added 2 commits June 19, 2026 11:15
Clears two high advisories that fail the `pnpm audit --audit-level=high` CI
gate. Both are real upgrades, not audit ignores.

- hono 4.12.14 → 4.12.26 (direct dep, packages/proxy): GHSA-88fw-hqm2-52qc,
  CORS middleware reflects any Origin with credentials on the wildcard default
  (patched ≥4.12.25). Helio's sideband rejects Origin headers and does not use
  the permissive CORS default, but the gate flags the version regardless.
- undici override ≥7.28.0 (transitive, dashboard > jsdom > undici, dev/test
  only): GHSA-vmh5-mc38-953g, TLS cert-validation bypass in the SOCKS5
  ProxyAgent (patched ≥7.28.0). A jsdom bump doesn't help — latest jsdom still
  declares `undici@^7.25.0` — so force the patched range via pnpm.overrides,
  matching the existing form-data override.

Total audit findings 24 → 8; remaining high is the pre-existing esbuild/vite
ignore tracked by #64. Proxy suite 1575 green, build + typecheck clean.
…iding

The undici>=7.28.0 override broke the dashboard test suite: jsdom@29.0.1
deep-imports undici/lib/handler/wrap-handler.js, an internal path removed in
undici 7.28, so every dashboard vitest worker failed with MODULE_NOT_FOUND.
No undici version is both patched (>=7.28.0) and compatible with jsdom@29's
internal layout (^7.25.0).

undici here is dev/test-only (dashboard > jsdom test env, not shipped) and the
advisory is a SOCKS5 ProxyAgent TLS path not exercised in tests, so revert the
override and add GHSA-vmh5-mc38-953g to the dev-only ignore list — same posture
as the existing vite dev-only ignore. The hono upgrade (a real, shipped fix) is
unchanged.

Verified: pnpm audit --audit-level=high exits 0; full pnpm test:js green
(proxy 1575, dashboard 300); build + typecheck clean.
@olivrg olivrg merged commit fe11b0a into main Jun 19, 2026
3 checks passed
@olivrg olivrg deleted the chore/audit-hono-undici branch June 19, 2026 10:55
olivrg added a commit that referenced this pull request Jun 19, 2026
The /audit evidence field (#72) and the hono/undici security patch (#73),
released together as v0.6.0.
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