Skip to content

fix: remediate Maple dependency security advisories - #1258

Merged
AnthonyRonning merged 4 commits into
masterfrom
codex-org-advisories-maple
Oct 24, 2026
Merged

AnthonyRonning merged 4 commits into
masterfrom
codex-org-advisories-maple

Conversation

@AnthonyRonning

@AnthonyRonning AnthonyRonning commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Patches the auth and Research Vite graphs, KaTeX (including Markdown-plugin copies), OpenSecret OpenSSL, tar, QUIC protocol dependencies in all five Rust consumers, and the remaining compatible npm audit findings in the SDK and updater workers. Updating rust_decimal removes the obsolete rkyv 0.7 graph. Removes the unused standalone lockfile from vendored Tao; Research still resolves its Linux GTK stack through the application lockfile.

Adds real Markdown rendering regressions for inline/display math and polluted-prototype trust handling. Keeps scripts disabled and frozen installs enabled; fast-uri 3.1.9 has an explicit, package-scoped exception to the release-age gate for the reviewed URI security fixes.

Validation in pinned Nix shells:

  • Auth: format, lint, typecheck, 124 tests, independent PR web build.
  • Research frontend: format, lint, typecheck, 1356 tests and PR web build.
  • Research native: 427 library tests + 3 CLI tests passed, 2 ignored, with RUST_TEST_THREADS=1 and RUST_BACKTRACE=0. With panic backtraces enabled, the macOS libunwind backtrace printer segfaults during a synthetic panic test; the focused panic tests pass. The unchanged-lockfile full suite also passed.
  • OpenSecret: strict all-target/all-feature Clippy and 881 tests passed, 34 ignored.
  • TypeScript SDK: build and 259 unit tests; Rust SDK: strict Clippy, 123 library tests (1 ignored) and docs.
  • Proxy: strict Clippy, 39 tests, docs and dependency-use check.
  • Agent: full just ci passed, including workspace/default/headless/ACP/proxy Clippy and workspace/headless tests.
  • Both updater workers: tests, type checks and deployment dry runs; npm audits clean.
  • Research RustSec/bans and in-tree Rust dependency-source checks.

Known remaining advisories: glib 0.18 in Tauri's GTK3 stack (existing documented exception) and Zod 3 in published/legacy TypeScript SDK consumers. Tinfoil's rsa advisory has no patched release and its existing exception covers public-key verification. These require upstream/API migrations or a separately authorized SDK publication. The original advisory commit's hook was skipped after explicit component checks because its Nix shell forces RUST_BACKTRACE=1 and triggers the documented macOS unwinder crash; hosted checks remain enabled.

Tinfoil crypto migration is explicitly deferred: the original Tinfoil f0fef79eec6a5a2c8592cf8aff4b90ab556acfbc pin, dependency graph and Nix Git hashes are restored. Companion tinfoil-rs #3 remains unmerged and is not consumed by this PR.

Adds a reviewed backend-only exception for RUSTSEC-2026-0387: the pinned Tinfoil dependency uses crypto-bigint 0.5.5 for public-input P-256/P-384 attestation and Sigstore verification. Production EHBP key agreement is concretely X25519/dalek; P-256 signing calls are test fixtures. The affected ECDSA verification arithmetic receives public keys, signatures and public signed messages, not private signing scalars. The source trace found no production secret-integer path through this instance. The exception records both immutable Tinfoil/EHBP pins and requires re-review on pin, crypto-consumer or HPKE-suite changes, and removal after upgrading the affected dependency. Other components retain their advisory policies. This is a source reachability assessment, not a production exploit test or a claim that crypto-bigint 0.5.5 is fixed.

Validation after restoring the original Tinfoil dependency: pinned cargo fmt and current-host backend Nix flake checks pass. With the authorized narrow exception, pinned cargo-deny --all-features --locked check advisories bans passes (advisories ok, bans ok). Current-head hosted CI must pass before merge; prior green heads are not substituted for the final head.

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Maple Auth development preview: https://7a6afc88.maple-auth-dev.pages.dev

Commit: 2b3f399222e8b14f5f22ee196605f949a71f076c

Uses development services. Cloudflare Access applies. Provider OAuth is not configured for PR URLs; use the stable Auth Dev host for OAuth rehearsal.

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Maple development preview: https://b3cfd461.maple-ca8.pages.dev

Commit: 2b3f399222e8b14f5f22ee196605f949a71f076c

Uses development API, billing, flags and PCR configuration. Cloudflare Access applies.

Restore the original Tinfoil pin, dependency graph and Nix vendor hashes at user request. Formatting and backend flake checks pass. The restored crypto-bigint 0.5.5 graph fails the existing RustSec advisory gate for RUSTSEC-2026-0387; no advisory ignore or CI gate change is added.
@AnthonyRonning
AnthonyRonning merged commit 86a22bd into master Oct 24, 2026
68 checks passed

This branch was successfully deployed

2 active deployments
pages-pr-1258 — 2b3f3992 Deployed Oct 24, 2026 by github-actions[bot]
auth-pages-pr-1258 — 2b3f3992 Deployed Oct 24, 2026 by github-actions[bot]
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