Skip to content

fix(deps): update ctutils to 0.4.5 for RUSTSEC-2026-0385 - #113

Open
thebrandonlucas wants to merge 1 commit into
masterfrom
fix/ctutils-rustsec-2026-0385
Open

thebrandonlucas wants to merge 1 commit into
masterfrom
fix/ctutils-rustsec-2026-0385

Conversation

@thebrandonlucas

Copy link
Copy Markdown
Contributor

Problem

RUSTSEC-2026-0385, published 2026-10-23, affects ctutils before 0.4.4. Its constant-time mask generation and u128 comparisons can compile to branches, which can leak secret values through timing. The CLI locks ctutils 0.4.2, reached through sha2 0.11 → digest 0.11.3 → ctutils.

The RustSec audit now fails on every PR that changes Cargo.lock, for example #86 and #101 in the look-and-feel stack. master's next scheduled audit will fail too: its last run, at 06:28 UTC, predates the advisory in the database.

Change

cargo update -p ctutils --precise 0.4.5. Only ctutils changes in Cargo.lock; its cmov dependency stays at 0.5.4. No source changes. Adds a changelog line in the style of the previous RustSec fix.

Try it on staging

Nothing to try on staging: this changes only a transitive dependency.

Checks

  • cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo machete --with-metadata, cargo test --locked (143 unit and 126 integration tests), and python3 scripts/check-coverage.py all pass.
  • cargo audit (cargo-audit 0.22) reports no vulnerabilities. Four warnings remain, as on master before the advisory: zbus_names, zvariant, and zvariant_derive are unmaintained, and clipboard-win 5.4.1 is yanked. The workflow treats these as informational and doesn't fail on them.
  • No CRAP report: src/ and tests/ are unchanged.

ctutils 0.4.2, which the CLI reaches through sha2 and digest, could
generate masks and u128 comparisons that branch on secret values.
0.4.4 fixed it; 0.4.5 is the current release. Only the lock file changes.

@tee8z tee8z 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.

Only ctutils changes in Cargo.lock, and the changelog line matches the earlier RustSec fix. CI is green, including the audit. The branch is 20 commits behind master but merges cleanly. Please merge this before #125: its audit fails only on this advisory.

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.

2 participants