sec: move crypto-bigint off a release yanked after it was picked, and record why warnings are not gated #565
Loading…
Reference in a new issue
No description provided.
Delete branch "sec/crypto-bigint-unyanked"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two small things, both follow-ups to my own work in #449.
The fix I shipped landed on a yanked release
#449 bumped
crypto-bigint0.7.3 → 0.7.6 in smart-byte to clear RUSTSEC-2026-0387 (secret-dependent branches in operations meant to be constant-time). Since then the author has yanked every 0.7.x below 0.7.9 — 0.7.1 through 0.7.8 inclusive, 0.7.6 among them. So the version chosen to fix an advisory is now a withdrawn release.Moved to 0.7.10, which is not yanked and still satisfies the advisory's
>=0.7.6. No yanked dependency remains anywhere in the tree.This is the case for re-reading the yanked list after advisory work rather than once: the pin was correct when it was made, and went stale for a reason outside the tree.
An omission in the gate, turned into a decision
check-advisories.pysays warnings are not gated because they are "advice about maintenance, not a reachable defect". That is honest forunmaintainedand evasive for the other two, so the header now says what is actually true:LruCache::pop(). It is not gated today only because every current instance is either pinned by a dependent (zstd-safeunder wasmtime 49's module cache, which nothing here configures) or needs a semver-major move of a transitive crate (lru,rand,glib). A gate that is red for things nobody can act on teaches people to bypass it, which costs more than it catches. The trigger to gate it is those becoming movable.Both are now recorded decisions with trigger conditions, not an unexamined gap.
Checked
60 lockfiles, the same 19 allowances, self-test green on all six cases, lockfile check current, smart-byte builds.
While here I also verified the four zstd allowances added since #486 (not mine): their load-bearing claim is that
sandbox-exec-wasmnever configures wasmtime's module cache. It holds — the engine is built fromConfig::new()plusconsume_fuel(true), and there is nocache_config_loadanywhere in sandbox-rs.🤖 Generated with Claude Code