You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds RUSTSEC-2026-0222 (wasmtime 45.0.0 — "Stores can mix up type indices between engines") to the [advisories] ignore list in deny.toml so cargo deny --all-features check stops failing Extra CI checks on unrelated PRs. The 45.x line has no patched release and both dependency paths (near-sdk 5.28.0 -> near-vm-runner 0.36.0, nearcore 2.13.2 -> near-vm-runner 2.13.2) pin wasmtime = "45.0.0", so an ignore is the only way to unblock CI until upstream moves to >= 46.0.2. I confirmed against Cargo.lock that wasmtime 45.0.0 is reached only through those two near-vm-runner copies (Cargo.lock:7972, Cargo.lock:8022), so the reachability statement in the comment is accurate for the current lockfile.
Changes:
deny.toml: one new advisory ignore entry plus a three-line rationale comment.
Reviewed changes
Per-file summary
File
Description
deny.toml
Adds RUSTSEC-2026-0222 to [advisories] ignore with a comment explaining that wasmtime 45.x has no patched release and that the advisory is only reachable via near-vm-runner.
Findings
Blocking (must fix before merge):
deny.toml:32 — No tracking issue for removing the exception. The PR body says Closes #4031, so after merge nothing tracks the cleanup, and the acceptance criteria of Add cargo-deny exception for RUSTSEC-2026-0222 (wasmtime 45.0.0) #4031 explicitly asks for a TODO(#NNNN) reference matching the sibling entries. This also diverges from the neighbouring # TODO(#3732): entry at deny.toml:29 and from docs/engineering-standards.md:306-324 ("long-form rationale that belongs in an issue" — prefer a short TODO(#issue) over a paragraph of context). Suggested fix: open a follow-up issue for dropping the ignore once near-sdk/nearcore depend on wasmtime >= 46.0.2, move the severity/reachability analysis there, and collapse the comment to:
# TODO(#NNNN): remove once near-sdk and nearcore depend on wasmtime >= 46.0.2 (no patched 45.x release)"RUSTSEC-2026-0222", # wasmtime stores can mix up type indices between engines
Non-blocking (nits, follow-ups, suggestions):
deny.toml:34 — "Only reachable through near-vm-runner, which never shares a Store across Engines" is a claim about third-party code that cannot be checked from this repo and will go stale silently if near-vm-runner changes or a second wasmtime dependent enters the tree. Keeping that risk assessment in the tracking issue (next to a link to the advisory) makes it re-verifiable; the deny.toml comment only needs the removal condition.
Adds RUSTSEC-2026-0222 (wasmtime 45.0.0 — “Stores can mix up type indices between engines”) to the advisories ignore list in deny.toml, unblocking Extra CI checks (cargo deny --all-features check) on unrelated PRs. Re-review following the update to #4031 that struck the follow-up-issue requirement.
Changes:
deny.toml: one new advisory ignore entry plus a three-line rationale comment stating the removal condition.
Reviewed changes
Per-file summary
File
Description
deny.toml
Adds RUSTSEC-2026-0222 to the advisories ignore list, with a comment noting wasmtime 45.x has no patched release and that the advisory is only reachable via near-vm-runner.
Findings
Blocking: none.
Re-verified against the current lockfile:
wasmtime 45.0.0 is the only wasmtime version in the tree, and its only two reverse dependencies are near-vm-runner 0.36.0 (Cargo.lock:7932, via near-sdk) and near-vm-runner 2.13.2 (Cargo.lock:7977, via the pinned nearcore tag) — see Cargo.lock:7972 and Cargo.lock:8022. The reachability half of the comment is accurate, and a lockfile-only fix is impossible: both dependants use a caret wasmtime = 45.0.0 requirement, so cargo cannot reach the patched >= 46.0.2.
No sortedness or TODO-format lint applies to this entry: scripts/check-todo-format.sh:5-7 only scans *.rs/*.py/*.sh/*.yml/*.yaml/*.md, so .toml is out of scope.
On my earlier blocking comment asking for a TODO(#NNNN) reference: withdrawn. Beyond #4031 being updated, the repo tooling argues for the current form — .github/scripts/check-todo-closed-issues.sh:52 fails CI when a PR that closes issue #Y leaves a TODO(#Y) behind, so TODO(#4031) here would have been a red check. Without a separate follow-up issue (reasonably judged overkill), a plain “Remove once ...” comment carrying the removal condition is the right shape, and it matches the six unreferenced entries at deny.toml:23-28.
I could not run cargo deny in this environment (advisory-DB fetch unavailable), so the claim that the ignore actually clears the failure rests on the Extra CI checks run for this PR.
gilcu3
deleted the
4031-add-cargo-deny-exception-for-rustsec-2026-0222-wasmtime-4500
branch
August 3, 2026 11:16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #4031