<?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 20:27:41 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-337171</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-337171</link>
      <description>EUVD-2026-337171</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-337171</guid>
    </item>
    <item>
      <title>fkie_cve-2026-6654</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-6654</link>
      <description>&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;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/fkie_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>
    <item>
      <title>RUSTSEC-2026-0103 — Use-After-Free and Double Free in IntoIter::drop When Element Drop Panics</title>
      <link>https://cve.radiocsirt.org/vuln/rustsec-2026-0103</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: thin-vec&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;## Details&lt;/p&gt;
&lt;p&gt;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;`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;### PoC&lt;/p&gt;
&lt;p&gt;```rust
use thin_vec::ThinVec;&lt;/p&gt;
&lt;p&gt;struct PanicBomb(String);&lt;/p&gt;
&lt;p&gt;impl Drop for PanicBomb {
    fn drop(&amp;amp;mut self) {
        if self.0 == &amp;#34;panic&amp;#34; {
            panic!(&amp;#34;panic!&amp;#34;);
        }
        println!(&amp;#34;Dropping: {}&amp;#34;, self.0);
    }
}&lt;/p&gt;
&lt;p&gt;fn main() {
    let mut v = ThinVec::new();
    v.push(PanicBomb(String::from(&amp;#34;normal1&amp;#34;)));
    v.push(PanicBomb(String::from(&amp;#34;panic&amp;#34;)));  // trigger e…&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;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;## Details&lt;/p&gt;
&lt;p&gt;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;`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;### PoC&lt;/p&gt;
&lt;p&gt;```rust
use thin_vec::ThinVec;&lt;/p&gt;
&lt;p&gt;struct PanicBomb(String);&lt;/p&gt;
&lt;p&gt;impl Drop for PanicBomb {
    fn drop(&amp;amp;mut self) {
        if self.0 == &amp;#34;panic&amp;#34; {
            panic!(&amp;#34;panic!&amp;#34;);
        }
        println!(&amp;#34;Dropping: {}&amp;#34;, self.0);
    }
}&lt;/p&gt;
&lt;p&gt;fn main() {
    let mut v = ThinVec::new();
    v.push(PanicBomb(String::from(&amp;#34;normal1&amp;#34;)));
    v.push(PanicBomb(String::from(&amp;#34;panic&amp;#34;)));  // trigger e…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/rustsec-2026-0103</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-6654</title>
      <link>https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-6654</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:24.04:LTS: rust-thin-vec, Ubuntu:25.10: rust-thin-vec, Ubuntu:26.04:LTS: rust-thin-vec&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; Ubuntu:24.04:LTS: rust-thin-vec, Ubuntu:25.10: rust-thin-vec, Ubuntu:26.04:LTS: rust-thin-vec&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/ubuntu-cve-2026-6654</guid>
    </item>
  </channel>
</rss>
