downcast_mut unsoundness advisory for anyhow#3000
Merged
Merged
Conversation
Member
|
Thanks for reporting this. Happy to merge and publish an advisory for anyhow (maybe split these into separate PRs?). For eyre, can you get confirmation from a maintainer that publishing an advisory is okay? For miette, I'd prefer to hold off for a bit to get a response. |
18a2ced to
73478f5
Compare
downcast_mut unsoundness advisories for anyhow, eyre, and miettedowncast_mut unsoundness advisory for anyhow
djc
approved these changes
Jun 29, 2026
Contributor
Author
|
Okay, I've updated this PR to contain just the |
4 tasks
Member
|
Thanks! |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The same unsoundness bug occurs in three popular error-handling crates. The unsound code originally appeared in
anyhow.eyrecopied it, and thenmiettecopied it fromeyre. This PR originally contained advisories for all three crates, and then was split to contain justanyhow. I'll continue to use this thread to track progress on the other two crates.Affected crate(s)
Links to upstream issue(s) or PR(s)
anyhow: Issue, PReyre: Issue, PRmiette: IssueSeverity
Informational advisory for soundness issues in safe public APIs. Advisories include example code that crashes in MIRI, but in my limited testing I was unable to find any evidence that rustc currently exploits the UB or compiles the code according to other than its author-intended semantics.
Checklist
RUSTSEC-0000-0000as the IDdatefield is set to the public disclosure dateCommunication timeline
miette.anyhow. Fixed released on the same day by @dtolnay and okayed a RustSec advisory.eyreand opened a PR with a fix.eyrefix merged to master.I'm currently checking with
eyremaintainers on release timelines. I'm not sure ofmiette's intentions, since there has been no maintainer response to the issue thread, but we're past two weeks from public disclosure.