downcast_mut unsoundness advisories for anyhow, eyre, and miette#3000
Draft
dfoxfranke wants to merge 1 commit into
Draft
downcast_mut unsoundness advisories for anyhow, eyre, and miette#3000dfoxfranke wants to merge 1 commit into
downcast_mut unsoundness advisories for anyhow, eyre, and miette#3000dfoxfranke wants to merge 1 commit into
Conversation
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.
This PR contains three advisories for the same bug occurring in three popular error-handling crates. The unsound code originally appeared in
anyhow.eyrecopied it, and thenmiettecopied it fromeyre.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.eyremaintainers have not yet responded, and this PR will remain in draft status until they've had adequate time to do so and release a fix. 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.