Skip to content

fix(deps): clear RUSTSEC-2026-0385 and RUSTSEC-2026-0387 - #665

Merged
Destynova2 merged 1 commit into
mainfrom
fix/deps-crypto-advisories
Oct 28, 2026
Merged

Destynova2 merged 1 commit into
mainfrom
fix/deps-crypto-advisories

Conversation

@Destynova2

@Destynova2 Destynova2 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

What

The cargo deny advisories gate went red on two advisories published after the
last green run. No grob code pulled them in — they are transitive crypto crates,
so main fails the same check until this lands.

advisories FAILED, bans ok, licenses ok, sources ok
Advisory Crate Issue Action
RUSTSEC-2026-0385 ctutils 0.4.2 non-constant-time mask generation / u128 comparisons bump → 0.4.6
RUSTSEC-2026-0387 crypto-bigint 0.7.5 timing variability in constant-time ops bump → 0.7.6
RUSTSEC-2026-0387 crypto-bigint 0.5.5 same scoped ignore (see below)

The stuck 0.5.5

crypto-bigint 0.5.5 is pulled unconditionally by age 0.12.1 (the latest
release) via its non-optional hpke/p256 0.13 → elliptic-curve 0.13.8
dependencies. The advisory's fix (>=0.7.6) covers only the 0.7.x line, and no
grob feature toggles this path off, so there is no upgrade path we control.

Per deny.toml's own policy (prefer moving off an affected crate over an
ignore), moving off is not possible here, so it is ignored with a documented,
version-scoped entry and the review date is refreshed. The entry is scoped to
crypto-bigint@0.5.5 specifically and should be removed the moment age ships
a release built on a fixed crypto-bigint.

Verification

cargo deny check passes locally with these changes (advisories/bans/licenses/
sources all ok). Only Cargo.lock and deny.toml change; no source code.

Closes #658
Closes #659
Closes #660

🤖 Generated with Claude Code

@Destynova2
Destynova2 force-pushed the fix/deps-crypto-advisories branch from 52e92a6 to a5c41f8 Compare October 28, 2026 14:34
@Destynova2
Destynova2 enabled auto-merge (squash) October 28, 2026 14:34
cargo-deny and cargo-audit started failing on two freshly published
advisories against transitive crypto crates (no grob code change pulled
them in):

- RUSTSEC-2026-0385 (ctutils): non-constant-time mask generation and u128
  comparisons. Fixed by ctutils 0.4.2 -> 0.4.6.
- RUSTSEC-2026-0387 (crypto-bigint): timing variability in operations
  intended to be constant-time. Fixed on the 0.7.x line by crypto-bigint
  0.7.5 -> 0.7.10 (0.7.6, the first fixed release, is yanked).

A second crypto-bigint 0.5.5 remains in the tree, pulled unconditionally by
age 0.12.1 (the latest release) through its non-optional hpke/p256 0.13 ->
elliptic-curve 0.13.8 dependencies. The advisory has no patched 0.5.x
release and no grob feature toggles that path off, so RUSTSEC-2026-0387 is
ignored, with a documented and dated entry, in both deny.toml and the
in-sync .cargo/audit.toml. Remove both the moment age ships on a fixed
crypto-bigint.
@Destynova2
Destynova2 force-pushed the fix/deps-crypto-advisories branch from a5c41f8 to f9f1c37 Compare October 28, 2026 15:36
@Destynova2
Destynova2 merged commit 4a8219e into main Oct 28, 2026
39 checks passed
@Destynova2
Destynova2 deleted the fix/deps-crypto-advisories branch October 28, 2026 15:50
Destynova2 added a commit that referenced this pull request Oct 28, 2026
## 🤖 New release

* `grob`: 0.36.128 -> 0.36.129

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.36.129](v0.36.128...v0.36.129)
- 2026-10-28

### Fixed

- *(oauth)* clear refresh marker on connection failures
([#664](#664))
- *(deps)* clear RUSTSEC-2026-0385 and RUSTSEC-2026-0387
([#665](#665))

### Other

- *(deps)* update cargo minor updates
([#661](#661))
- *(deps)* update docker.io/grafana/otel-lgtm docker tag to v0.38.1
([#662](#662))
- *(deps)* update docker.io/curlimages/curl docker tag to v8.23.0
([#649](#649))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant