<?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 09:27:51 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-43900 — media: xc2028: avoid use-after-free in load_firmware_cb()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-43900</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;media: xc2028: avoid use-after-free in load_firmware_cb()&lt;/p&gt;
&lt;p&gt;syzkaller reported use-after-free in load_firmware_cb() [1].
The reason is because the module allocated a struct tuner in tuner_probe(),
and then the module initialization failed, the struct tuner was released.
A worker which created during module initialization accesses this struct
tuner later, it caused use-after-free.&lt;/p&gt;
&lt;p&gt;The process is as follows:&lt;/p&gt;
&lt;p&gt;task-6504           worker_thread
tuner_probe                             &amp;lt;= alloc dvb_frontend [2]
...
request_firmware_nowait                 &amp;lt;= create a worker
...
tuner_remove                            &amp;lt;= free dvb_frontend
...
                    request_firmware_work_func  &amp;lt;= the firmware is ready
                    load_firmware_cb    &amp;lt;= but now the dvb_frontend has been freed&lt;/p&gt;
&lt;p&gt;To fix the issue, check the dvd_frontend in load_firmware_cb(), if it is
null, report a warning and just return.&lt;/p&gt;
&lt;p&gt;[1]:
    ==================================================================
     BUG: KASAN: use-after-free in load_firmware_cb+0x1310/0x17a0
     Read of size 8 at addr ffff8000d7ca2308 by task kworker/2:3/6504&lt;/p&gt;
&lt;p&gt;Call trace:
      load_firmware_cb+0x1310/0x17a0
      request_firmware_work_func+0x128/0x220
      process_one_work+0x770/0x1824
      worker_thread+0x488/0xea0
      kthread+0x300/0x430
      ret_from_fork+0x10/0x20&lt;/p&gt;
&lt;p&gt;Allocated by task 6504:
      kzalloc
      tuner_probe+0xb0/0x1430…&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;media: xc2028: avoid use-after-free in load_firmware_cb()&lt;/p&gt;
&lt;p&gt;syzkaller reported use-after-free in load_firmware_cb() [1].
The reason is because the module allocated a struct tuner in tuner_probe(),
and then the module initialization failed, the struct tuner was released.
A worker which created during module initialization accesses this struct
tuner later, it caused use-after-free.&lt;/p&gt;
&lt;p&gt;The process is as follows:&lt;/p&gt;
&lt;p&gt;task-6504           worker_thread
tuner_probe                             &amp;lt;= alloc dvb_frontend [2]
...
request_firmware_nowait                 &amp;lt;= create a worker
...
tuner_remove                            &amp;lt;= free dvb_frontend
...
                    request_firmware_work_func  &amp;lt;= the firmware is ready
                    load_firmware_cb    &amp;lt;= but now the dvb_frontend has been freed&lt;/p&gt;
&lt;p&gt;To fix the issue, check the dvd_frontend in load_firmware_cb(), if it is
null, report a warning and just return.&lt;/p&gt;
&lt;p&gt;[1]:
    ==================================================================
     BUG: KASAN: use-after-free in load_firmware_cb+0x1310/0x17a0
     Read of size 8 at addr ffff8000d7ca2308 by task kworker/2:3/6504&lt;/p&gt;
&lt;p&gt;Call trace:
      load_firmware_cb+0x1310/0x17a0
      request_firmware_work_func+0x128/0x220
      process_one_work+0x770/0x1824
      worker_thread+0x488/0xea0
      kthread+0x300/0x430
      ret_from_fork+0x10/0x20&lt;/p&gt;
&lt;p&gt;Allocated by task 6504:
      kzalloc
      tuner_probe+0xb0/0x1430…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-43900</guid>
    </item>
  </channel>
</rss>
