<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-14T22:21:35.725558+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/rustsec-2024-0021</id>
    <title>RUSTSEC-2024-0021 — Parts of Report are dropped as the wrong type during downcast</title>
    <updated>2026-10-14T22:21:35.726669+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> crates.io: eyre</p>
<p>In affected versions, after a `Report` is constructed using `wrap_err` or
`wrap_err_with` to attach a message of type `D` onto an error of type `E`, then
using `downcast` to recover ownership of either the value of type `D` or the
value of type `E`, one of two things can go wrong:</p>
<p>- If downcasting to `E`, there remains a value of type `D` to be dropped. It is
  incorrectly "dropped" by running `E`'s drop behavior, rather than `D`'s. For
  example if `D` is `&amp;str` and `E` is `std::io::Error`, there would be a call of
  `std::io::Error::drop` in which the reference received by the `Drop` impl does
  not refer to a valid value of type `std::io::Error`, but instead to `&amp;str`.</p>
<p>- If downcasting to `D`, there remains a value of type `E` to be dropped. When
  `D` and `E` do not happen to be the same size, `E`'s drop behavior is
  incorrectly executed in the wrong location. The reference received by the
  `Drop` impl may point left or right of the real `E` value that is meant to be
  getting dropped.</p>
<p>In both cases, when the `Report` contains an error `E` that has nontrivial drop
behavior, the most likely outcome is memory corruption.</p>
<p>When the `Report` contains an error `E` that has trivial drop behavior (for
example a `Utf8Error`) but where `D` has nontrivial drop behavior (such as
`String`), the most likely outcome is that downcasting to `E` would leak `D`.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/rustsec-2024-0021"/>
  </entry>
</feed>
