Skip to content

fix(security): refresh the lock so lru reaches the patched line (RUSTSEC-2026-0002) - #13

Merged
h4x0r merged 2 commits into
mainfrom
fix/lru-rustsec-2026-0002
Aug 6, 2026
Merged

fix(security): refresh the lock so lru reaches the patched line (RUSTSEC-2026-0002)#13
h4x0r merged 2 commits into
mainfrom
fix/lru-rustsec-2026-0002

Conversation

@h4x0r

@h4x0r h4x0r commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

lru's IterMut violates Stacked Borrows — RUSTSEC-2026-0002, categorised
memory-corruption, patched in >= 0.16.3 and unaffected below 0.9.0. This repo
resolved a version inside the affected window.

No manifest here declares lru. It arrives through ewf, which is the only crate
in the fleet that depends on it directly, so the fix belonged upstream and was
made there: ewf 0.4.9 requires lru 0.18.1. This commit is only the lockfile
catching up — the requirement on ewf already permitted it, so nothing but the
resolution moves.

That is worth stating because it is the difference between a real fix and a
suppression: nothing is being ignored or exempted here, and no advisory entry is
added anywhere. The vulnerable code simply stops being resolved.

Verified by resolution rather than assumption: cargo update is run and the
resulting Cargo.lock is checked to name an lru at or above 0.16.3 before this
commit is made.

…SEC-2026-0002)

lru's `IterMut` violates Stacked Borrows — RUSTSEC-2026-0002, categorised
memory-corruption, patched in >= 0.16.3 and unaffected below 0.9.0. This repo
resolved a version inside the affected window.

No manifest here declares lru. It arrives through `ewf`, which is the only crate
in the fleet that depends on it directly, so the fix belonged upstream and was
made there: ewf 0.4.9 requires lru 0.18.1. This commit is only the lockfile
catching up — the requirement on `ewf` already permitted it, so nothing but the
resolution moves.

That is worth stating because it is the difference between a real fix and a
suppression: nothing is being ignored or exempted here, and no advisory entry is
added anywhere. The vulnerable code simply stops being resolved.

Verified by resolution rather than assumption: `cargo update` is run and the
resulting Cargo.lock is checked to name an lru at or above 0.16.3 before this
commit is made.
@socket-security

socket-security Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedewf@​0.4.99610093100100

View full report

Refreshing the lock to clear RUSTSEC-2026-0002 moved several crates to versions
this store had no record for. Each takes the strongest mechanism that applies,
per ADR-0018, rather than one blanket sweep:

  ours, from crates.io   -> `cargo vet trust <crate> h4x0r`. A trust entry keys
                            on the publisher, so it survives our next release
                            instead of going stale with the version.
  third-party            -> [[exemptions]], the honest floor for code no
                            imported aggregate auditor covers.

`cargo vet certify --accept-all` was not used anywhere: a certify record asserts
a human read the source, so bulk-certifying would fabricate exactly the
condition being claimed.

`cargo vet --locked` passes.
@h4x0r
h4x0r merged commit 8b2630e into main Aug 6, 2026
12 checks passed
@h4x0r
h4x0r deleted the fix/lru-rustsec-2026-0002 branch August 9, 2026 15:28
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.

1 participant