<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 09 Oct 2026 18:42:58 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-6654 — Use-After-Free and Double-Free in IntoIter::drop when element drop panics</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-6654</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Mozilla thin-vec, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux AI (RHEL AI) 3&lt;/p&gt;
&lt;p&gt;Double-Free / Use-After-Free (UAF) in the `IntoIter::drop` and `ThinVec::clear` functions in the thin_vec crate. A panic in `ptr::drop_in_place` skips setting the length to zero.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Mozilla thin-vec, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux AI (RHEL AI) 3&lt;/p&gt;
&lt;p&gt;Double-Free / Use-After-Free (UAF) in the `IntoIter::drop` and `ThinVec::clear` functions in the thin_vec crate. A panic in `ptr::drop_in_place` skips setting the length to zero.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-6654</guid>
    </item>
    <item>
      <title>GHSA-xphw-cqx3-667j — thin-vec: Use-After-Free and Double Free in IntoIter::drop When Element Drop Panics</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-xphw-cqx3-667j</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: thin-vec&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A **Double Free / Use-After-Free (UAF)** vulnerability has been identified in the `IntoIter::drop` and `ThinVec::clear` implementations of the `thin_vec` crate.
Both vulnerabilities share the same root cause and can trigger memory corruption using only safe Rust code — no `unsafe` blocks required.
Undefined Behavior has been confirmed via **Miri** and **AddressSanitizer (ASAN)**.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;Both vulnerabilities share the same root cause. When a **panic occurs** during sequential element deallocation, the subsequent length cleanup code (`set_len(0)`) is never executed. During stack unwinding, the container is dropped again, causing already-freed memory to be re-freed (Double Free / UAF).&lt;/p&gt;
&lt;p&gt;#### Vulnerability 1 — `IntoIter::drop`&lt;/p&gt;
&lt;p&gt;**Location:** `thin-vec/src/lib.rs` L.2308~2314&lt;/p&gt;
&lt;p&gt;`IntoIter::drop` transfers ownership of the internal buffer via `mem::replace`, then sequentially frees elements via `ptr::drop_in_place`.
If a panic occurs during element deallocation, `set_len_non_singleton(0)` is never reached. During unwinding, `vec` is dropped again, re-freeing already-freed elements.
The standard library&amp;#39;s `std::vec::IntoIter` prevents this with a **DropGuard pattern**, but thin-vec lacks this defense.&lt;/p&gt;
&lt;p&gt;```rust
// Problematic structure (conceptual representation)
impl&amp;lt;T&amp;gt; Drop for IntoIter&amp;lt;T&amp;gt; {
    fn drop(&amp;amp;mut self) {
        let mut vec = mem::replace(&amp;amp;mut self.vec, ThinVec::new());
        unsafe {
            ptr::drop_in_place(vec.remaining_slice_mut()); /…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: thin-vec&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A **Double Free / Use-After-Free (UAF)** vulnerability has been identified in the `IntoIter::drop` and `ThinVec::clear` implementations of the `thin_vec` crate.
Both vulnerabilities share the same root cause and can trigger memory corruption using only safe Rust code — no `unsafe` blocks required.
Undefined Behavior has been confirmed via **Miri** and **AddressSanitizer (ASAN)**.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;Both vulnerabilities share the same root cause. When a **panic occurs** during sequential element deallocation, the subsequent length cleanup code (`set_len(0)`) is never executed. During stack unwinding, the container is dropped again, causing already-freed memory to be re-freed (Double Free / UAF).&lt;/p&gt;
&lt;p&gt;#### Vulnerability 1 — `IntoIter::drop`&lt;/p&gt;
&lt;p&gt;**Location:** `thin-vec/src/lib.rs` L.2308~2314&lt;/p&gt;
&lt;p&gt;`IntoIter::drop` transfers ownership of the internal buffer via `mem::replace`, then sequentially frees elements via `ptr::drop_in_place`.
If a panic occurs during element deallocation, `set_len_non_singleton(0)` is never reached. During unwinding, `vec` is dropped again, re-freeing already-freed elements.
The standard library&amp;#39;s `std::vec::IntoIter` prevents this with a **DropGuard pattern**, but thin-vec lacks this defense.&lt;/p&gt;
&lt;p&gt;```rust
// Problematic structure (conceptual representation)
impl&amp;lt;T&amp;gt; Drop for IntoIter&amp;lt;T&amp;gt; {
    fn drop(&amp;amp;mut self) {
        let mut vec = mem::replace(&amp;amp;mut self.vec, ThinVec::new());
        unsafe {
            ptr::drop_in_place(vec.remaining_slice_mut()); /…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-xphw-cqx3-667j</guid>
    </item>
  </channel>
</rss>
