Skip to content

Bump qp-rusty-crystals dilithium/hdwallet to 4.1.1 - #146

Merged
n13 merged 2 commits into
mainfrom
n13/bump-rusty-crystals-4.1.1
Sep 1, 2026
Merged

Bump qp-rusty-crystals dilithium/hdwallet to 4.1.1#146
n13 merged 2 commits into
mainfrom
n13/bump-rusty-crystals-4.1.1

Conversation

@n13

@n13 n13 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps qp-rusty-crystals-dilithium and qp-rusty-crystals-hdwallet from 4.1.0 to 4.1.1 (Cargo.toml + lockfile; no other crates touched).

dilithium 4.1.1 fixes a signature-forgery vulnerability: the malicious-key guard only rejected an all-zero t1, but any key whose coefficients keep HighBits(c·2^D·t1) at zero accepted forged signatures for every message with no secret key. 4.1.1 rejects the whole degenerate family; honest keys are unaffected. hdwallet 4.1.1 raises its dilithium floor to ^4.1.1.

Cooldown-bypass-reason: dilithium 4.1.1 fixes a signature-forgery vulnerability (degenerate t1 public keys accepted forged signatures); first-party crates published by our own CI, waiting 30 days leaves the vulnerable 4.1.0 pinned.

dilithium 4.1.1 rejects the full family of degenerate t1 public keys
that accepted forged signatures; hdwallet 4.1.1 raises its dilithium
floor accordingly.
@n13 n13 added the dependency-cooldown-bypass Emergency bypass for the dependency cooldown gate (requires Cooldown-bypass-reason in PR body) label Aug 31, 2026
@n13 n13 added the bot-review Request automated review from review-bot label Sep 1, 2026

@n13 n13 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewer model: GPT Sol

Verdict (advisory): Approve

No blocking findings.

The manifest and lockfile consistently move both qp-rusty-crystals-dilithium and qp-rusty-crystals-hdwallet to 4.1.1. The locked graph resolves one 4.1.1 copy of each, including qp-dilithium-crypto's transitive path, and the published crate checksums match Cargo.lock. I also checked the released source: the dilithium update expands the malicious-key guard beyond all-zero t1 at public-key parsing, secret-key import, and verification, while hdwallet raises its dilithium requirement to 4.1.1. The unrelated-looking windows-sys/cfg-if lock references are compatible resolver deduplications; the exact locked graph builds and tests successfully.

Validation:

  • git diff --check 6245cd0...cb90a44, pinned nightly cargo fmt --all -- --check, and locked metadata resolution passed.
  • cargo test --locked: 301 library and 299 binary tests passed; one doctest remained intentionally ignored.
  • SKIP_CIRCUIT_BUILD=1 cargo clippy --all-targets --locked -- -D warnings passed.
  • The three upstream non-zero degenerate-t1 forgery regressions passed for ML-DSA-44, ML-DSA-65, and ML-DSA-87 from the source commit recorded in the published 4.1.1 crate.
  • All eight exact-head GitHub checks are green, including Ubuntu/macOS build-and-test, Clippy/docs, security audit, examples, formatting, and dependency cooldown. Local cargo audit was unavailable because cargo-audit is not installed, so I relied on the successful hosted audit for that check.

@n13 n13 removed the bot-review Request automated review from review-bot label Sep 1, 2026
@n13
n13 merged commit dd8e551 into main Sep 1, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency-cooldown-bypass Emergency bypass for the dependency cooldown gate (requires Cooldown-bypass-reason in PR body)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant