<?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 21:36:50 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-49526 — md/bitmap: don't set sb values if can't pass sanity check</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2022-49526</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;md/bitmap: don&amp;#39;t set sb values if can&amp;#39;t pass sanity check&lt;/p&gt;
&lt;p&gt;If bitmap area contains invalid data, kernel will crash then mdadm
triggers &amp;#34;Segmentation fault&amp;#34;.
This is cluster-md speical bug. In non-clustered env, mdadm will
handle broken metadata case. In clustered array, only kernel space
handles bitmap slot info. But even this bug only happened in clustered
env, current sanity check is wrong, the code should be changed.&lt;/p&gt;
&lt;p&gt;How to trigger: (faulty injection)&lt;/p&gt;
&lt;p&gt;dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sda
dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sdb
mdadm -C /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sda /dev/sdb
mdadm -Ss
echo aaa &amp;gt; magic.txt
 == below modifying slot 2 bitmap data ==
dd if=magic.txt of=/dev/sda seek=16384 bs=1 count=3 &amp;lt;== destroy magic
dd if=/dev/zero of=/dev/sda seek=16436 bs=1 count=4 &amp;lt;== ZERO chunksize
mdadm -A /dev/md0 /dev/sda /dev/sdb
 == kernel crashes. mdadm outputs &amp;#34;Segmentation fault&amp;#34; ==&lt;/p&gt;
&lt;p&gt;Reason of kernel crash:&lt;/p&gt;
&lt;p&gt;In md_bitmap_read_sb (called by md_bitmap_create), bad bitmap magic didn&amp;#39;t
block chunksize assignment, and zero value made DIV_ROUND_UP_SECTOR_T()
trigger &amp;#34;divide error&amp;#34;.&lt;/p&gt;
&lt;p&gt;Crash log:&lt;/p&gt;
&lt;p&gt;kernel: md: md0 stopped.
kernel: md/raid1:md0: not clean -- starting background reconstruction
kernel: md/raid1:md0: active with 2 out of 2 mirrors
kernel: dlm: ... ...
kernel: md-cluster: Joined cluster 44810aba-38bb-e6b8-daca-bc97a0b254aa slot 1
kernel: md0: invalid b…&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;md/bitmap: don&amp;#39;t set sb values if can&amp;#39;t pass sanity check&lt;/p&gt;
&lt;p&gt;If bitmap area contains invalid data, kernel will crash then mdadm
triggers &amp;#34;Segmentation fault&amp;#34;.
This is cluster-md speical bug. In non-clustered env, mdadm will
handle broken metadata case. In clustered array, only kernel space
handles bitmap slot info. But even this bug only happened in clustered
env, current sanity check is wrong, the code should be changed.&lt;/p&gt;
&lt;p&gt;How to trigger: (faulty injection)&lt;/p&gt;
&lt;p&gt;dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sda
dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sdb
mdadm -C /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sda /dev/sdb
mdadm -Ss
echo aaa &amp;gt; magic.txt
 == below modifying slot 2 bitmap data ==
dd if=magic.txt of=/dev/sda seek=16384 bs=1 count=3 &amp;lt;== destroy magic
dd if=/dev/zero of=/dev/sda seek=16436 bs=1 count=4 &amp;lt;== ZERO chunksize
mdadm -A /dev/md0 /dev/sda /dev/sdb
 == kernel crashes. mdadm outputs &amp;#34;Segmentation fault&amp;#34; ==&lt;/p&gt;
&lt;p&gt;Reason of kernel crash:&lt;/p&gt;
&lt;p&gt;In md_bitmap_read_sb (called by md_bitmap_create), bad bitmap magic didn&amp;#39;t
block chunksize assignment, and zero value made DIV_ROUND_UP_SECTOR_T()
trigger &amp;#34;divide error&amp;#34;.&lt;/p&gt;
&lt;p&gt;Crash log:&lt;/p&gt;
&lt;p&gt;kernel: md: md0 stopped.
kernel: md/raid1:md0: not clean -- starting background reconstruction
kernel: md/raid1:md0: active with 2 out of 2 mirrors
kernel: dlm: ... ...
kernel: md-cluster: Joined cluster 44810aba-38bb-e6b8-daca-bc97a0b254aa slot 1
kernel: md0: invalid b…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2022-49526</guid>
    </item>
  </channel>
</rss>
