Skip to content

deps: clear RustSec advisories (crossbeam-epoch, anyhow) - #61

Merged
dantelex merged 1 commit into
mainfrom
fix/audit-advisories-crossbeam-anyhow
Jul 14, 2026
Merged

deps: clear RustSec advisories (crossbeam-epoch, anyhow)#61
dantelex merged 1 commit into
mainfrom
fix/audit-advisories-crossbeam-anyhow

Conversation

@davmonk

@davmonk davmonk commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

What

Lockfile-only dependency bumps to clear two cargo audit advisories against transitive dependencies:

Crate Old New Advisory Level
crossbeam-epoch 0.9.18 0.9.20 RUSTSEC-2026-0204 error
anyhow 1.0.102 1.0.103 RUSTSEC-2026-0190 unsound (warning)

Reachability (honest assessment)

Neither advisory is meaningfully reachable from undo's own code:

  • crossbeam-epoch — the bug is an invalid pointer dereference in the fmt::Pointer impl for Atomic/Shared. undo never pointer-formats crossbeam atomics; it's a transitive dep (via the watcher/parallelism stack). Flagged as error regardless.
  • anyhow — unsoundness in Error::downcast_mut(). undo uses anyhow heavily but does not use downcast_mut().

So this is hygiene / supply-chain cleanliness, not a fix for a live exploit path in undo.

Files touched

  • Cargo.lock only (4 lines). No source, no Cargo.toml version constraints changed. Both bumps stay within MSRV 1.85 (cargo update locked to "latest Rust 1.85 compatible versions").

Verification (run locally, this branch)

  • cargo fmt --all --check — clean
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo test --all217 passed, 0 failed, 2 ignored
  • cargo build --release — ok
  • cargo auditclean (exit 0)

Note: CI does not currently run cargo audit; happy to add that gate in a follow-up if wanted.

🤖 Generated with Claude Code

`cargo audit` flagged two transitive-dependency advisories:

- crossbeam-epoch 0.9.18 -> 0.9.20 (RUSTSEC-2026-0204, error):
  invalid pointer dereference in the `fmt::Pointer` impl for `Atomic`/
  `Shared`. Not reachable from undo (we never pointer-format crossbeam
  atomics), but it is an error-level advisory.
- anyhow 1.0.102 -> 1.0.103 (RUSTSEC-2026-0190, unsound warning):
  unsoundness in `Error::downcast_mut()`. Low practical exposure here.

Lockfile-only change; both bumps stay within MSRV 1.85. Verified after
update: cargo fmt --check, clippy -D warnings, cargo test --all (217
passed), release build, and cargo audit all clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dantelex
dantelex merged commit 1cab0b1 into main Jul 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants