Repository navigation
fix(deps): take chacha20 0.10.2, since 0.10.0 and 0.10.1 were yanked - #1248
Conversation
chacha20 0.10.0 and 0.10.1 were yanked upstream for undefined behaviour (RustCrypto/stream-ciphers#579, fixed in RustCrypto/stream-ciphers#580). On an x86 CPU without AVX2 the crate falls back to its SSE2 backend, and that backend's RNG path calls `_mm_extract_epi32`, an SSE4.1 intrinsic, without checking for SSE4.1. A CPU with SSE4.1 runs it and gets the right answer; one without it (pre-2008 hardware, QEMU's default qemu64 model) dies with SIGILL. The keystream and the random numbers were never wrong. We reach it through `rand` 0.10, whose ThreadRng is ChaCha12, and through vitaminc-random. Both are in the native binaries @cipherstash/protect-ffi and @cipherstash/auth ship, hence the patch changeset. The fuzz workspaces move too, so no lockfile here still holds a yanked chacha20. The Go guests were already on 0.10.2. Only chacha20's version and checksum change in each lockfile. Claude-Session: https://claude.ai/code/session_01BZhkvKLpNtKuzj3HCfMXoL
🦋 Changeset detectedLatest commit: 2c53bea The changes in this PR will be included in the next version bump. This PR includes changesets to release 26 packages
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 |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Mutation testing (cargo-mutants,
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
cipherstash-agent
left a comment
There was a problem hiding this comment.
Review attestation: automated review (/code-review medium + /cross-check-review-findings) of head 2c53bea.
Findings: none. No critical or blocking issues.
Checked:
- All 7 lockfile diffs (root,
packages/eql, protect-ffi, 3 fuzz workspaces) change only chacha200.10.0→0.10.2and its checksum. Dependency lists are untouched. - The checksum
65c35e4b…1b06matches the SHA-256 ofchacha20-0.10.2.cratedownloaded from static.crates.io. crates.io reports 0.10.2 as not yanked. - The changeset covers
@cipherstash/protect-ffiand@cipherstash/auth, the packages whose native binaries are built from these lockfiles. Patch bump is appropriate; there is no API change. - No skills or meta-file updates are needed.
Not run: builds or tests (the PR description reports cargo tree --locked and nextest results).
Generated by Claude Code
Summary
Moves every lockfile in this repository from
chacha200.10.0 to 0.10.2. chacha20 is the stream cipher behindrand's default random number generator and behindvitaminc-random.The RustCrypto maintainers yanked 0.10.0 and 0.10.1 (marked them so new builds no longer select them) because of undefined behaviour. On an x86 CPU without AVX2, the random number generator falls back to code that uses an SSE4.1 instruction without first checking the CPU supports it. The effect depends on the CPU:
qemu64CPU model): the process crashes with an illegal-instruction error.The native modules we ship to npm (
@cipherstash/protect-ffiand@cipherstash/auth) are built from these lockfiles, so this PR adds a patch changeset for both.Changes
packages/eql,languages/typescript/packages/protect-ffi, and the three fuzz workspaces (stack-auth,stack-encrypt,stack-kms). Only chacha20's version and checksum change in each.@cipherstash/protect-ffiand@cipherstash/auth.Verification
cargo tree --lockedresolves in all six workspaces.cargo check --locked --workspace --all-features(root): builds.cargo nextest run --locked -p stack-encrypt -p stack-kms --all-features: 670 passed.cargo tree -i chacha20confirmsstack-auth-node,stack-auth-wasmandprotect-ffiall depend on it.Related
nextbranch has the same three main lockfiles on 0.10.0. They pick this up whenmainis merged intonext.https://claude.ai/code/session_01BZhkvKLpNtKuzj3HCfMXoL