Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

fix(deps): resolve all medium/high/critical Dependabot vulnerabilities

merged#2790CedarCopilot

CedarCopilot wants to merge 3 commits into staging from fix/dependabot-vulns-medium-high-critical

Live on prod since Thu, 1 of 8 behaviors workingTimeline and evidence
  1. Opened
    Sep 15, 2026, 7:28 AM
  2. Sep 15, 2026, 8:21 AM
  3. Merged
    Sep 17, 2026, 8:46 AM
  4. Live on prod
    Sep 17, 2026, 8:46 AM
  5. Observed 8 hours
    Sep 17, 2026, 8:46 AM
  6. Pipelines steady after this deploy
    Sep 17, 2026, 8:46 AM
  7. Verified

    Live on prod since Thu, 1 of 8 behaviors working

    Sep 17, 2026, 4:56 PM

Behaviors Libra is checking

Untrusted HTML rendered or persisted by the mail and document surfaces is processed with patched DOMPurify and sanitize-html versions so known sanitizer bypasses do not execute active content.Workingmedium confidence

Post-deploy production telemetry shows substantial successful mail HTML-processing traffic: gmail.get.output recorded 12,372 executions in worker-service and 2,508 in api-service, with average latency about 230 ms and 1,590 ms respectively (p95 about 444 ms and 2,114 ms). No.

prod, checked Sep 17, 2026, 3:01 PM
Authentication and session flows use the patched Better Auth dependency so the targeted security vulnerabilities cannot be exploited through sign-in, session, or verification operations.Inconclusivelow confidence

I’m unable to complete the verification because the available telemetry query returned no matching auth spans and the loop ended before the concrete Better Auth routes could be queried or a verdict reported.

prod, checked Sep 17, 2026, 2:03 PM
Desktop releases and their update checks, downloads, and installations use patched Electron, electron-updater, and electron-builder components.Inconclusivelow confidence

Verification reached its 120s wall-clock budget before a tied verdict. Libra is keeping this intent verifying until the next check.

prod, checked Sep 17, 2026, 3:03 PM
Archive, XML, and image-backed document and attachment processing uses patched parser libraries so malicious files cannot trigger the targeted traversal, entity-expansion, or native parsing vulnerabilities.Inconclusivelow confidence

Verification cited only 2 matching post-deploy events, below the 20-event floor for calling a change verified. Nothing is failing; there is not yet enough traffic to confirm it.

prod, checked Sep 17, 2026, 3:31 PM
Repeated document rewrites preserve an ` ` spacer paragraph above a section rule instead of collapsing it after the third markdown round trip.Inconclusivelow confidence

Strict CloudWatch fallback found 27 prod failure log lines for [executeExternalCrm] Failed to write snapshot on non-significant sync (Failed query: select \), but the failure is not tied to this intent.

prod, checked Sep 17, 2026, 3:33 PM
The upgraded Tiptap stack and explicit y-tiptap integration preserve collaborative editor synchronization and document round trips.Inconclusivelow confidence

Verification reached its 130s outer budget before the verifier returned. Libra is keeping this intent verifying until the next check.

prod, checked Sep 17, 2026, 4:10 PM

Libra has verdicts on 1 of 8 tracked behaviors on prod; 7 are still being checked. Libra checks hourly for 3 days after each deploy.

Summary

  • Resolves all open medium/high/critical Dependabot alerts (~100 alerts across ~40 packages) via root pnpm.overrides, direct dependency bumps in apps/mail, apps/server, apps/desktop, and the better-auth catalog entry
  • Includes major bumps: electron-builder 25→26 (fixes app-builder-lib uncontrolled search path + builder-util-runtime token-leak-on-redirect advisories), the @tiptap/* family 3.26→3.31 (ReDoS + prototype-pollution fixes), and @faker-js/faker 9→10 in scripts/ (bun-managed, separate lockfile)
  • better-auth is pinned to ~1.6.33 rather than resolving to the newer 1.7.x line , 1.7.x drops MCP-plugin exports (mcp, withMcpAuth, etc.) that @zero/server depends on; 1.6.33 is well past the advisory's fix version (1.6.22) with the same API surface
  • Two packages (electron-builder-squirrel-windows, @tiptap/y-tiptap) needed to be added as explicit dependencies rather than relying on pnpm.overrides, since pnpm's peer-auto-install doesn't consistently respect overrides for packages that only ever appear as peer dependencies , without this, a stale vulnerable app-builder-lib@25.1.8 kept getting dragged back into the tree

Known residual (not fixable by dependency bump)

extract-zip (transitive, via the electron-builder chain) has two high-severity symlink-traversal advisories with no patched version published upstream , latest on npm is still 2.0.1. Left as an accepted risk; it's build-time-only (desktop packaging), not shipped to end users.

Test plan

  • pnpm install resolves cleanly with no new/unexplained peer-dependency warnings
  • pnpm --filter @zero/mail run types , clean
  • pnpm --filter @zero/server run types , clean
  • Verified single unified resolution (no duplicate/stale vulnerable versions) for app-builder-lib, electron-builder-squirrel-windows, builder-util-runtime, @tiptap/y-tiptap
  • Not verified: a real signed electron-builder dist build (needs notarization credentials unavailable in this environment) , recommend sanity-checking apps/desktop's next real release build given the electron-builder 25→26 major bump

🤖 Generated with Claude Code

Greptile Summary

This PR updates direct and transitive dependencies across the mail, server, desktop, and scripts workspaces to patched releases.

  • Advances the TipTap package family and explicitly aligns its collaboration peer.
  • Upgrades the Electron packaging/update toolchain, including electron-builder 26.
  • Pins Better Auth to the compatible 1.6 release line.
  • Adds broad pnpm overrides for vulnerable transitive packages.
  • Updates the separate Bun lockfile for Faker 10.
  • The primary remaining review concern is the lack of a packaging smoke test for the electron-builder major upgrade and its custom signing hooks.

Confidence Score: 4/5

The dependency updates appear safe to merge, with a non-blocking request to exercise the desktop packaging path before relying on electron-builder 26 for a release.

No concrete application, authentication, security, or dependency-resolution failure was established; the remaining concern is that the major desktop packager update is not covered by a non-publishing packaging check despite custom signing and universal-build behavior.

Files Needing Attention: apps/desktop/package.json

Important Files Changed

FilenameOverview
apps/desktop/package.jsonUpgrades Electron tooling across an untested electron-builder major boundary used by a custom signed packaging flow.
apps/mail/package.jsonAligns the TipTap family and updates router and sanitizer dependencies with consistent lockfile resolutions.
apps/server/package.jsonUpdates Hono, archive, Markdown, sanitizer, and Vitest dependencies without an established compatibility failure.
package.jsonAdds and updates security-oriented pnpm overrides;
Show production surfaces and changed-file mapping

Production surfaces

Libra has not measured any production surfaces for this change yet.

Changed files → surfaces

  • apps/desktop/package.jsonno production surface mapped
  • apps/mail/package.jsonno production surface mapped
  • apps/server/package.jsonno production surface mapped
  • apps/server/src/services/document-saving/__tests__/coaching-fences.test.tsno production surface mapped
  • package.jsonno production surface mapped
  • pnpm-lock.yamlno production surface mapped
  • pnpm-workspace.yamlno production surface mapped
  • scripts/bun.lockno production surface mapped
  • scripts/package.jsonno production surface mapped