<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T17:34:40.754678+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/cve-2026-63892</id>
    <title>CVE-2026-63892 — thunderbolt: property: Reject dir_len &lt; 4 to prevent size_t underflow</title>
    <updated>2026-09-30T17:34:40.770796+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>thunderbolt: property: Reject dir_len &lt; 4 to prevent size_t underflow</p>
<p>On the non-root path, __tb_property_parse_dir() takes dir_len from
entry-&gt;length (u16 widened to size_t).  Two distinct OOB conditions
follow when entry-&gt;length &lt; 4:</p>
<p>1. The non-root path begins with kmemdup(&amp;block[dir_offset],
   sizeof(*dir-&gt;uuid), ...) which always reads 4 dwords from
   dir_offset.  tb_property_entry_valid() only enforces
   dir_offset + entry-&gt;length &lt;= block_len, so a crafted entry
   with dir_offset close to the end of the property block and
   entry-&gt;length in 0..3 passes that gate but lets the UUID copy
   run off the block (e.g. dir_offset = 497, dir_len = 3 in a
   500-dword block reads block[497..501]).</p>
<p>2. After the kmemdup, content_len = dir_len - 4 underflows size_t
   to ~SIZE_MAX, nentries becomes SIZE_MAX / 4, and the entry
   walk runs OOB on each iteration until an entry fails
   validation or the kernel oopses on an unmapped page.</p>
<p>Reject dir_len &lt; 4 on the non-root path *before* the UUID kmemdup,
which closes both holes.</p>
<p>Also move INIT_LIST_HEAD(&amp;dir-&gt;properties) up to immediately after
the dir allocation so the new error-return path (and the existing
uuid-alloc failure path) calling tb_property_free_dir() sees a
walkable list rather than the zero-initialized NULL next/prev that
list_for_each_entry_safe() would oops on.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-63892"/>
  </entry>
</feed>
