<?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-09T18:42:58.563980+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/cve-2026-6654</id>
    <title>CVE-2026-6654 — Use-After-Free and Double-Free in IntoIter::drop when element drop panics</title>
    <updated>2026-10-09T18:42:58.566248+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> 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</p>
<p>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.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-6654"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-xphw-cqx3-667j</id>
    <title>GHSA-xphw-cqx3-667j — thin-vec: Use-After-Free and Double Free in IntoIter::drop When Element Drop Panics</title>
    <updated>2026-10-09T18:42:58.566332+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> crates.io: thin-vec</p>
<p>### Summary</p>
<p>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)**.</p>
<p>---</p>
<p>### Details</p>
<p>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).</p>
<p>#### Vulnerability 1 — `IntoIter::drop`</p>
<p>**Location:** `thin-vec/src/lib.rs` L.2308~2314</p>
<p>`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's `std::vec::IntoIter` prevents this with a **DropGuard pattern**, but thin-vec lacks this defense.</p>
<p>```rust
// Problematic structure (conceptual representation)
impl&lt;T&gt; Drop for IntoIter&lt;T&gt; {
    fn drop(&amp;mut self) {
        let mut vec = mem::replace(&amp;mut self.vec, ThinVec::new());
        unsafe {
            ptr::drop_in_place(vec.remaining_slice_mut()); /…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-xphw-cqx3-667j"/>
  </entry>
</feed>
