cargo-deny flagged RUSTSEC-2026-0222 — wasmtime "Stores can mix up type indices between engines" (type confusion / sandbox integrity in the embedding API).
We are on wasmtime 45.0.0. There is no patched 45.x release; the fixes landed in 46.0.2 and 47.0.3 (crates.io also shows backports at 36.0.13 / 24.0.12). So the durable fix is a major bump.
Why it was ignored rather than fixed inline
PR #115 added a temporary deny.toml ignore to unblock an unrelated feature. Reachability was verified, not assumed:
- wasmtime is a dependency of
scry-host-tests only, which is publish = false
cargo metadata confirms no published scry-sai-* crate has wasmtime as a normal dependency
- the shipped
scry.wasm embeds no engine
- the harness runs our own fixtures against our own composed component — not a multi-tenant sandbox host — so the crafted cross-engine usage the advisory needs has no attack surface here
The work
- Bump
wasmtime (and wasmtime-wasi) 45 → 47 in the workspace dep table; fix harness API churn across two majors.
- Re-run
cargo test -p scry-host-tests (the FEAT-013 live gate + soundness oracles all run through this embedding).
- Delete the
RUSTSEC-2026-0222 entry from deny.toml — the entry itself says to.
- While there: RUSTSEC-2026-0182 / -0188 / -0190 / -0204 are all wasmtime/rayon-lineage ignores that a 47 bump may also clear. Re-check and delete any that no longer apply — five standing ignores is a pattern, not a set of exceptions.
Not urgent (dev-only, no shipped exposure), but it should not sit indefinitely — the ignore is time-boxed by intent.
cargo-denyflagged RUSTSEC-2026-0222 — wasmtime "Stores can mix up type indices between engines" (type confusion / sandbox integrity in the embedding API).We are on wasmtime 45.0.0. There is no patched 45.x release; the fixes landed in 46.0.2 and 47.0.3 (crates.io also shows backports at 36.0.13 / 24.0.12). So the durable fix is a major bump.
Why it was ignored rather than fixed inline
PR #115 added a temporary
deny.tomlignore to unblock an unrelated feature. Reachability was verified, not assumed:scry-host-testsonly, which ispublish = falsecargo metadataconfirms no publishedscry-sai-*crate has wasmtime as a normal dependencyscry.wasmembeds no engineThe work
wasmtime(andwasmtime-wasi) 45 → 47 in the workspace dep table; fix harness API churn across two majors.cargo test -p scry-host-tests(the FEAT-013 live gate + soundness oracles all run through this embedding).RUSTSEC-2026-0222entry fromdeny.toml— the entry itself says to.Not urgent (dev-only, no shipped exposure), but it should not sit indefinitely — the ignore is time-boxed by intent.