Skip to content

fix(deps): patch rustls to 0.23.45 - #1158

Open
tobyhede wants to merge 2 commits into
mainfrom
fix/cip-4891-rustls
Open

tobyhede wants to merge 2 commits into
mainfrom
fix/cip-4891-rustls

Conversation

@tobyhede

@tobyhede tobyhede commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Patches rustls to 0.23.45 to address GHSA-2mjx-qc3c-rqvc (RUSTSEC-2026-0285; affects >= 0.23.13, < 0.23.45).

Lockfile-only change via cargo update -p rustls --precise 0.23.45 in each workspace:

Cargo.lock rustls before after
Cargo.lock 0.23.36 0.23.45
packages/eql/Cargo.lock 0.23.40 0.23.45
languages/typescript/packages/protect-ffi/Cargo.lock 0.23.37 0.23.45
packages/stack-auth/fuzz/Cargo.lock 0.23.36 0.23.45

Required transitive bumps (rustls 0.23.45 needs rustls-webpki ^0.103.14 and aws-lc-rs ^1.18):

  • rustls-webpki 0.103.13 -> 0.103.15 (all four)
  • aws-lc-rs -> 1.18.1 and aws-lc-sys -> 0.45.0 (eql, protect-ffi; protect-ffi also gains pkg-config as an aws-lc-sys build dep)

Resolves Dependabot alerts #230, #234, #235, #239.

Verified locally with cargo check --locked (Rust 1.94.1) in all four workspaces.

Summary by CodeRabbit

  • Bug Fixes
    • Updated the cryptographic components used by authentication and data protection to address a security vulnerability. This update applies across supported platforms, with no changes to the package APIs or how these features are used.

Addresses GHSA-2mjx-qc3c-rqvc (RUSTSEC-2026-0285) in all four Cargo.lock files. rustls 0.23.45 requires aws-lc-rs ^1.18 and rustls-webpki ^0.103.14, so those move too where needed.
@tobyhede
tobyhede requested a review from a team as a code owner October 12, 2026 01:13
@changeset-bot

changeset-bot Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 457b28e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 26 packages
Name Type
@cipherstash/auth Patch
@cipherstash/protect-ffi Patch
@cipherstash/protect-ffi-darwin-arm64 Patch
@cipherstash/protect-ffi-darwin-x64 Patch
@cipherstash/protect-ffi-linux-arm64-gnu Patch
@cipherstash/protect-ffi-linux-x64-gnu Patch
@cipherstash/protect-ffi-linux-x64-musl Patch
@cipherstash/protect-ffi-win32-x64-msvc Patch
stash Patch
@cipherstash/stack Patch
@cipherstash/wizard Patch
@cipherstash/ffi-integration-tests Patch
@cipherstash/stack-drizzle Patch
@cipherstash/stack-supabase Patch
@cipherstash/basic-example Patch
@cipherstash/e2e Patch
@cipherstash/bench Patch
@cipherstash/stack-prisma Patch
@cipherstash/test-kit Patch
@cipherstash/prisma-example Patch
@cipherstash/auth-darwin-arm64 Patch
@cipherstash/auth-darwin-x64 Patch
@cipherstash/auth-linux-arm64-gnu Patch
@cipherstash/auth-linux-x64-gnu Patch
@cipherstash/auth-linux-x64-musl Patch
@cipherstash/auth-win32-x64-msvc Patch

Not sure what this means? Click here to learn what changesets are.

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

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 71ca49d8-f776-41a3-9f0c-ba2b75fdff5e
📥 Commits

Reviewing files that changed from the base of the PR and between 49314ad and 457b28e.

📒 Files selected for processing: 2
  • .changeset/auth-rustls-0-23-45.md
  • .changeset/protect-ffi-rustls-0-23-45.md

Included review availability: This review used your included allowance. 4 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

📝 Walkthrough

The pull request adds patch changesets for @cipherstash/auth, @cipherstash/protect-ffi, and six platform packages. They document rustls 0.23.45, the affected version range, the advisory, and that package APIs are unchanged.

Changes: Rustls patch release changesets

Layer / File(s) Summary
Patch release metadata
.changeset/auth-rustls-0-23-45.md, .changeset/protect-ffi-rustls-0-23-45.md
Adds patch release entries for auth, protect-ffi, and six platform packages. The entries document rustls 0.23.45, GHSA-2mjx-qc3c-rqvc, the affected rustls version range, and unchanged package APIs.

Priority: ⬆️ High

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: freshtonic

Merge Risk: ⚪ Minimal · up to 457b2

The Rustls update is covered by releases for the affected auth and protect-ffi packages; the other lockfile changes affect unpublished or test workspaces. No concrete merge risk remains beyond normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: updating rustls to version 0.23.45 to address the dependency vulnerability.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T01:17:23.021662Z 49314ad PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

Mutation testing (cargo-mutants, --in-diff, stack-auth + stack-encrypt)

No mutants were generated for the changed lines.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 49314ad9dd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread languages/typescript/packages/protect-ffi/Cargo.lock
Comment thread Cargo.lock

@freshtonic freshtonic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review of 49314ad. I do not repeat the two open Codex points about changesets for @cipherstash/protect-ffi and @cipherstash/auth. They are still open.

What I checked

  • Advisory. GHSA-2mjx-qc3c-rqvc names >= 0.23.13, < 0.23.45, first patched 0.23.45. The PR pins 0.23.45. Correct.
  • Coverage. I read every tracked Cargo.lock on main. Only four carry rustls: the root, protect-ffi, packages/eql and packages/stack-auth/fuzz. The PR moves all four to 0.23.45. The two Go guests and the stack-encrypt and stack-kms fuzz crates do not carry rustls. Coverage is complete.
  • Lock consistency. cargo metadata --locked passes in all four workspaces on the PR head (Rust 1.94.1).
  • Dependabot overlap.
    • #1196 and #1155 merge with no conflict. After each merge, cargo metadata --locked still passes in all four workspaces, and rustls stays at 0.23.45.
    • #1154 has a text conflict in languages/typescript/packages/protect-ffi/Cargo.lock. GitHub blocks that merge, so it is safe. The PR that merges second must regenerate the lock. After that, make sure that rustls is still 0.23.45.
    • None of the three Dependabot PRs changes rustls, rustls-webpki or aws-lc-*.
  • CI. 58 checks pass and 2 skip (the nightly fuzz campaign and review). No failures.

Before merge (recommended, not blocking)

aws-lc-sys moves from 0.44.0 to 0.45.0 in protect-ffi and gains a pkg-config build dependency. No PR job compiles the six release platforms. The zigbuild glibc 2.28 target and the Alpine musl container in _build-ffi-artifacts.yml (lines 197-252) are the jobs most likely to break on a changed C build script. Dispatch ffi-preflight.yml with ref: fix/cip-4891-rustls before you merge. If you do not, the first proof comes from the release run.

Add patch changesets for @cipherstash/protect-ffi (and its six platform
packages) and @cipherstash/auth, so the lockfile bump to rustls 0.23.45
(GHSA-2mjx-qc3c-rqvc) ships in its own release rather than depending on
unrelated pending changesets.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FboWTTDJN1UFUDUzSzHzNH

This branch has not been deployed

No deployments
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