Skip to content

ctutils v0.4.4 - #1569

Merged
tarcieri merged 1 commit into
masterfrom
ctutils/v0.4.4
Oct 23, 2026
Merged

tarcieri merged 1 commit into
masterfrom
ctutils/v0.4.4

Conversation

@tarcieri

Copy link
Copy Markdown
Member

Security

  • Fix and verify Choice::to_*_mask constant-time codegen (#1567)
  • Fix constant-time u128 comparisons on 32-bit targets (#1568)

@tarcieri
tarcieri merged commit a993c0b into master Oct 23, 2026
148 checks passed
@tarcieri
tarcieri deleted the ctutils/v0.4.4 branch October 23, 2026 01:03
tarcieri added a commit to RustCrypto/crypto-bigint that referenced this pull request Oct 23, 2026
This release includes important security fixes: RustCrypto/utils#1569
djc pushed a commit to rustsec/advisory-db that referenced this pull request Oct 23, 2026
This advisory covers issues fixed in v0.4.4:

RustCrypto/utils#1569
thomaseizinger added a commit to firezone/firezone that referenced this pull request Oct 23, 2026
Versions of `ctutils` before 0.4.4 can generate branches in the mask
generation of `Choice` on common platforms, and in its `u128`
comparisons on 32-bit targets, so they are not constant-time. This is a
new advisory that fails `cargo deny` on every PR.

Related: RustCrypto/utils#1569
CueCrux-Myles pushed a commit to CueCrux/Crux that referenced this pull request Oct 23, 2026
ctutils < 0.4.4 has non-constant-time mask generation and u128
comparisons (RustCrypto/utils#1569). It reaches the tree through
p256/ecdsa/hmac and turns Cargo deny red on every branch. Lockfile-only;
ctutils 0.4.5 needs Rust 1.87, inside the current MSRV.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011G8hmqqwypRjci676mqZ6Z
CueCrux-Myles pushed a commit to CueCrux/Crux that referenced this pull request Oct 23, 2026
ctutils < 0.4.4 has non-constant-time mask generation and u128
comparisons (RustCrypto/utils#1569). It reaches the tree through
p256/ecdsa/hmac and turns Cargo deny red on every branch. Lockfile-only;
ctutils 0.4.5 needs Rust 1.87, inside the current MSRV. The same bump
rides #834, so whichever lands first carries it to main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011G8hmqqwypRjci676mqZ6Z
kunwarshivam pushed a commit to kunwarshivam/mandate that referenced this pull request Oct 23, 2026
`cargo deny --locked check` fails on main. In ctutils 0.4.2, the constant-time
`Choice` mask lacked an optimization barrier (RUSTSEC-2026-0385,
RustCrypto/utils#1569); 0.4.4 and later fix it. ctutils is a transitive
RustCrypto crate, reached through aes-gcm, crypto-bigint, digest, sec1 and
universal-hash (webpush, p256, sqlx-postgres). `cargo update -p ctutils` makes
a patch-level bump. Nothing else in Cargo.lock moves, and no manifest or
dependency row changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoxcMViCbnGUTPSaduuGYU
kunwarshivam added a commit to kunwarshivam/mandate that referenced this pull request Oct 23, 2026
…s for RUSTSEC-2026-0385 (DEC-2334, DEC-2338) (#2322)

* CI (lane GO): run api-release in a full-checks-3 job of its own (DEC-2334, DEC-2338)

#2289 added `api-release` to `cargo xtask ci full` (DEC-2338 item 5) after
#2195 had split `full`'s parts into `full-checks` and `full-checks-2`
(DEC-2334). No CI job ran `api-release`, and
`the_full_jobs_run_exactly_the_full_group` failed on main.

Its release build of `mandate-api-server` takes about five minutes on its own.
Neither existing job has room for that under ten minutes (DEC-464):
`full-checks-2`'s `reference` alone is about 4.5 minutes, before its two
release builds. So it runs in `full-checks-3`, on the same selection, and
`full` needs all three. The verdict table now shows a failed, cancelled or
skipped `full-checks-3` failing `full`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoxcMViCbnGUTPSaduuGYU

* Supply chain: bump ctutils 0.4.2 -> 0.4.5 for RUSTSEC-2026-0385

`cargo deny --locked check` fails on main. In ctutils 0.4.2, the constant-time
`Choice` mask lacked an optimization barrier (RUSTSEC-2026-0385,
RustCrypto/utils#1569); 0.4.4 and later fix it. ctutils is a transitive
RustCrypto crate, reached through aes-gcm, crypto-bigint, digest, sec1 and
universal-hash (webpush, p256, sqlx-postgres). `cargo update -p ctutils` makes
a patch-level bump. Nothing else in Cargo.lock moves, and no manifest or
dependency row changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoxcMViCbnGUTPSaduuGYU

---------

Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 24, 2026
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