<?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://vulnerability.circl.lu</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>Tue, 29 Sep 2026 00:40:15 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-21810 — driver core: class: Fix wild pointer dereferences in API class_dev_iter_next()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-21810</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;driver core: class: Fix wild pointer dereferences in API class_dev_iter_next()&lt;/p&gt;
&lt;p&gt;There are a potential wild pointer dereferences issue regarding APIs
class_dev_iter_(init|next|exit)(), as explained by below typical usage:&lt;/p&gt;
&lt;p&gt;// All members of @iter are wild pointers.
struct class_dev_iter iter;&lt;/p&gt;
&lt;p&gt;// class_dev_iter_init(@iter, @class, ...) checks parameter @class for
// potential class_to_subsys() error, and it returns void type and does
// not initialize its output parameter @iter, so caller can not detect
// the error and continues to invoke class_dev_iter_next(@iter) even if
// @iter still contains wild pointers.
class_dev_iter_init(&amp;amp;iter, ...);&lt;/p&gt;
&lt;p&gt;// Dereference these wild pointers in @iter here once suffer the error.
while (dev = class_dev_iter_next(&amp;amp;iter)) { ... };&lt;/p&gt;
&lt;p&gt;// Also dereference these wild pointers here.
class_dev_iter_exit(&amp;amp;iter);&lt;/p&gt;
&lt;p&gt;Actually, all callers of these APIs have such usage pattern in kernel tree.
Fix by:
- Initialize output parameter @iter by memset() in class_dev_iter_init()
  and give callers prompt by pr_crit() for the error.
- Check if @iter is valid in class_dev_iter_next().&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;driver core: class: Fix wild pointer dereferences in API class_dev_iter_next()&lt;/p&gt;
&lt;p&gt;There are a potential wild pointer dereferences issue regarding APIs
class_dev_iter_(init|next|exit)(), as explained by below typical usage:&lt;/p&gt;
&lt;p&gt;// All members of @iter are wild pointers.
struct class_dev_iter iter;&lt;/p&gt;
&lt;p&gt;// class_dev_iter_init(@iter, @class, ...) checks parameter @class for
// potential class_to_subsys() error, and it returns void type and does
// not initialize its output parameter @iter, so caller can not detect
// the error and continues to invoke class_dev_iter_next(@iter) even if
// @iter still contains wild pointers.
class_dev_iter_init(&amp;amp;iter, ...);&lt;/p&gt;
&lt;p&gt;// Dereference these wild pointers in @iter here once suffer the error.
while (dev = class_dev_iter_next(&amp;amp;iter)) { ... };&lt;/p&gt;
&lt;p&gt;// Also dereference these wild pointers here.
class_dev_iter_exit(&amp;amp;iter);&lt;/p&gt;
&lt;p&gt;Actually, all callers of these APIs have such usage pattern in kernel tree.
Fix by:
- Initialize output parameter @iter by memset() in class_dev_iter_init()
  and give callers prompt by pr_crit() for the error.
- Check if @iter is valid in class_dev_iter_next().&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-21810</guid>
    </item>
  </channel>
</rss>
