<?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>Mon, 05 Oct 2026 05:11:43 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-21727 — padata: fix UAF in padata_reorder</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-21727</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;padata: fix UAF in padata_reorder&lt;/p&gt;
&lt;p&gt;A bug was found when run ltp test:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in padata_find_next+0x29/0x1a0
Read of size 4 at addr ffff88bbfe003524 by task kworker/u113:2/3039206&lt;/p&gt;
&lt;p&gt;CPU: 0 PID: 3039206 Comm: kworker/u113:2 Kdump: loaded Not tainted 6.6.0+
Workqueue: pdecrypt_parallel padata_parallel_worker
Call Trace:
&amp;lt;TASK&amp;gt;
dump_stack_lvl+0x32/0x50
print_address_description.constprop.0+0x6b/0x3d0
print_report+0xdd/0x2c0
kasan_report+0xa5/0xd0
padata_find_next+0x29/0x1a0
padata_reorder+0x131/0x220
padata_parallel_worker+0x3d/0xc0
process_one_work+0x2ec/0x5a0&lt;/p&gt;
&lt;p&gt;If &amp;#39;mdelay(10)&amp;#39; is added before calling &amp;#39;padata_find_next&amp;#39; in the
&amp;#39;padata_reorder&amp;#39; function, this issue could be reproduced easily with
ltp test (pcrypt_aead01).&lt;/p&gt;
&lt;p&gt;This can be explained as bellow:&lt;/p&gt;
&lt;p&gt;pcrypt_aead_encrypt
...
padata_do_parallel
refcount_inc(&amp;amp;pd-&amp;gt;refcnt); // add refcnt
...
padata_do_serial
padata_reorder // pd
while (1) {
padata_find_next(pd, true); // using pd
queue_work_on
...
padata_serial_worker				crypto_del_alg
padata_put_pd_cnt // sub refcnt
						padata_free_shell
						padata_put_pd(ps-&amp;gt;pd);
						// pd is freed
// loop again, but pd is freed
// call padata_find_next, UAF
}&lt;/p&gt;
&lt;p&gt;In the padata_reorder function, when it loops in &amp;#39;while&amp;#39;, if the alg is
deleted, the refcnt may be decreased to 0 before entering
&amp;#39;padata_find_next&amp;#39;, which leads to UAF.&lt;/p&gt;
&lt;p&gt;As mentioned in [1], do_serial is supposed to be called with BHs di…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;padata: fix UAF in padata_reorder&lt;/p&gt;
&lt;p&gt;A bug was found when run ltp test:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in padata_find_next+0x29/0x1a0
Read of size 4 at addr ffff88bbfe003524 by task kworker/u113:2/3039206&lt;/p&gt;
&lt;p&gt;CPU: 0 PID: 3039206 Comm: kworker/u113:2 Kdump: loaded Not tainted 6.6.0+
Workqueue: pdecrypt_parallel padata_parallel_worker
Call Trace:
&amp;lt;TASK&amp;gt;
dump_stack_lvl+0x32/0x50
print_address_description.constprop.0+0x6b/0x3d0
print_report+0xdd/0x2c0
kasan_report+0xa5/0xd0
padata_find_next+0x29/0x1a0
padata_reorder+0x131/0x220
padata_parallel_worker+0x3d/0xc0
process_one_work+0x2ec/0x5a0&lt;/p&gt;
&lt;p&gt;If &amp;#39;mdelay(10)&amp;#39; is added before calling &amp;#39;padata_find_next&amp;#39; in the
&amp;#39;padata_reorder&amp;#39; function, this issue could be reproduced easily with
ltp test (pcrypt_aead01).&lt;/p&gt;
&lt;p&gt;This can be explained as bellow:&lt;/p&gt;
&lt;p&gt;pcrypt_aead_encrypt
...
padata_do_parallel
refcount_inc(&amp;amp;pd-&amp;gt;refcnt); // add refcnt
...
padata_do_serial
padata_reorder // pd
while (1) {
padata_find_next(pd, true); // using pd
queue_work_on
...
padata_serial_worker				crypto_del_alg
padata_put_pd_cnt // sub refcnt
						padata_free_shell
						padata_put_pd(ps-&amp;gt;pd);
						// pd is freed
// loop again, but pd is freed
// call padata_find_next, UAF
}&lt;/p&gt;
&lt;p&gt;In the padata_reorder function, when it loops in &amp;#39;while&amp;#39;, if the alg is
deleted, the refcnt may be decreased to 0 before entering
&amp;#39;padata_find_next&amp;#39;, which leads to UAF.&lt;/p&gt;
&lt;p&gt;As mentioned in [1], do_serial is supposed to be called with BHs di…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-21727</guid>
    </item>
  </channel>
</rss>
