Description
In the Linux kernel, the following vulnerability has been resolved:
md/bitmap: don't set sb values if can't pass sanity check
If bitmap area contains invalid data, kernel will crash then mdadm
triggers "Segmentation fault".
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.
How to trigger: (faulty injection)
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 > magic.txt
== below modifying slot 2 bitmap data ==
dd if=magic.txt of=/dev/sda seek=16384 bs=1 count=3 <== destroy magic
dd if=/dev/zero of=/dev/sda seek=16436 bs=1 count=4 <== ZERO chunksize
mdadm -A /dev/md0 /dev/sda /dev/sdb
== kernel crashes. mdadm outputs "Segmentation fault" ==
Reason of kernel crash:
In md_bitmap_read_sb (called by md_bitmap_create), bad bitmap magic didn't
block chunksize assignment, and zero value made DIV_ROUND_UP_SECTOR_T()
trigger "divide error".
Crash log:
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 bitmap file superblock: bad magic
kernel: md_bitmap_copy_from_slot can't get bitmap from slot 2
kernel: md-cluster: Could not gather bitmaps from slot 2
kernel: divide error: 0000 [#1] SMP NOPTI
kernel: CPU: 0 PID: 1603 Comm: mdadm Not tainted 5.14.6-1-default
kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
kernel: RIP: 0010:md_bitmap_create+0x1d1/0x850 [md_mod]
kernel: RSP: 0018:ffffc22ac0843ba0 EFLAGS: 00010246
kernel: ... ...
kernel: Call Trace:
kernel: ? dlm_lock_sync+0xd0/0xd0 [md_cluster 77fe..7a0]
kernel: md_bitmap_copy_from_slot+0x2c/0x290 [md_mod 24ea..d3a]
kernel: load_bitmaps+0xec/0x210 [md_cluster 77fe..7a0]
kernel: md_bitmap_load+0x81/0x1e0 [md_mod 24ea..d3a]
kernel: do_md_run+0x30/0x100 [md_mod 24ea..d3a]
kernel: md_ioctl+0x1290/0x15a0 [md_mod 24ea....d3a]
kernel: ? mddev_unlock+0xaa/0x130 [md_mod 24ea..d3a]
kernel: ? blkdev_ioctl+0xb1/0x2b0
kernel: block_ioctl+0x3b/0x40
kernel: __x64_sys_ioctl+0x7f/0xb0
kernel: do_syscall_64+0x59/0x80
kernel: ? exit_to_user_mode_prepare+0x1ab/0x230
kernel: ? syscall_exit_to_user_mode+0x18/0x40
kernel: ? do_syscall_64+0x69/0x80
kernel: entry_SYSCALL_64_after_hwframe+0x44/0xae
kernel: RIP: 0033:0x7f4a15fa722b
kernel: ... ...
kernel: ---[ end trace 8afa7612f559c868 ]---
kernel: RIP: 0010:md_bitmap_create+0x1d1/0x850 [md_mod]
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 3.5 | 4.19.247 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 5.18.5-1 | — |
| Debian 13 | linux | 5.18.5-1 | — |
| Debian 12 | linux | 5.18.5-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | linux-raspi-realtime | No fix yet | — |
| Ubuntu 22.04 LTS | linux | 5.15.0-47.51 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1019.23 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1019.24 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1017.23 | — |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1015.18 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1002.4 | — |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1013.15 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1015.20 | — |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1017.21 | — |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-47.53 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1007.7 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1017.22 | — |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1014.16 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux | 5.4.0-126.142 | — |
| Ubuntu 20.04 LTS | linux-aws | 5.4.0-1085.92 | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1019.23~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure | 5.4.0-1091.96 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1019.24~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-bluefield | 5.4.0-1046.51 | — |
| Ubuntu 20.04 LTS | linux-gcp | 5.4.0-1089.97 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1017.23~20.04.2 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-48.54~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-ibm | 5.4.0-1033.37 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1015.20~20.04.2 | — |
| Ubuntu 20.04 LTS | linux-iot | 5.4.0-1004.6 | — |
| Ubuntu 20.04 LTS | linux-kvm | 5.4.0-1075.80 | — |
| Ubuntu 20.04 LTS | linux-oracle | 5.4.0-1083.91 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1017.22~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-raspi | 5.4.0-1070.80 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1018.21~20.04.1 | — |
| Ubuntu 18.04 LTS | linux-aws-5.4 | 5.4.0-1085.92~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-azure-5.4 | 5.4.0-1091.96~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp-5.4 | 5.4.0-1089.97~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-hwe-5.4 | 5.4.0-126.142~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-ibm-5.4 | 5.4.0-1033.37~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-oracle-5.4 | 5.4.0-1083.91~18.04.1 | — |
| Ubuntu 18.04 LTS | linux-raspi-5.4 | 5.4.0-1070.80~18.04.1 | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 10 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1020.20 | — |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-aws-fips | 5.4.0-1085.92+fips1 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-azure-fips | 5.4.0-1091.96+fips1 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips | 5.4.0-1061.69 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-gcp-fips | 5.4.0-1089.97+fips1 | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux +5 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.100.1 | SUSE-SU-2025:1241-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.100.1.150500.6.47.1 | SUSE-SU-2025:1241-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SLES 15 SP3 | kernel-64kb +7 | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLES 15 SP3 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
| SLES 12 SP5 | kernel-syms +2 | 4.12.14-122.255.1 | SUSE-SU-2025:1293-1 |
Show 18 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | kernel-default-base | 5.14.21-150500.55.100.1.150500.6.47.1 | SUSE-SU-2025:1241-1 |
| SLES for SAP 15 SP5 | kernel-docs +4 | 5.14.21-150500.55.100.1 | SUSE-SU-2025:1241-1 |
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLES for SAP 15 SP3 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
| SLES for SAP 15 SP3 | kernel-docs +5 | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.100.1.150500.6.47.1 | SUSE-SU-2025:1241-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.91.1 | SUSE-SU-2025:1176-1 |
| SLE Micro 5.5 | kernel-source +1 | 5.14.21-150500.55.100.1 | SUSE-SU-2025:1241-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.115.1 | SUSE-SU-2025:1183-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.115.1 | SUSE-SU-2025:1183-1 |
| SLE Micro 5.2 | kernel-default | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLE Micro 5.2 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
| SLE Micro 5.2 | kernel-rt +1 | 5.3.18-150300.205.1 | SUSE-SU-2025:1194-1 |
| SLE Micro 5.1 | kernel-default | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLE Micro 5.1 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
| SLE Micro 5.1 | kernel-rt +1 | 5.3.18-150300.205.1 | SUSE-SU-2025:1194-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.100.1 | SUSE-SU-2025:1241-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_25 | 1-150500.11.3.1 | SUSE-SU-2025:1241-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_38 | 1-150400.9.3.1 | SUSE-SU-2025:1027-1 |
| SLE Live Patching 15 SP3 | kernel-default | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLE Live Patching 15 SP3 | kernel-livepatch-SLE15-SP3_Update_56 | 1-150300.7.3.1 | SUSE-SU-2025:1263-1 |
| SLE Live Patching 12 SP5 | kernel-default | 4.12.14-122.255.1 | SUSE-SU-2025:1293-1 |
| SLE Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_67 | 1-8.5.1 | SUSE-SU-2025:1293-1 |
| SLE HPC 15 SP5 | kernel-64kb +5 | 5.14.21-150500.55.100.1 | SUSE-SU-2025:1241-1 |
| SLE HPC 15 SP5 | kernel-default-base | 5.14.21-150500.55.100.1.150500.6.47.1 | SUSE-SU-2025:1241-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SLE HPC 15 SP3 | kernel-64kb +6 | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SLE HPC 15 SP3 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
| SUSE Manager Server 4.3 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SUSE Manager Server 4.3 | kernel-syms +3 | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SUSE Manager Proxy 4.3 | kernel-default-base | 5.14.21-150400.24.158.1.150400.24.78.1 | SUSE-SU-2025:1027-1 |
| SUSE Manager Proxy 4.3 | kernel-syms +2 | 5.14.21-150400.24.158.1 | SUSE-SU-2025:1027-1 |
| SUSE Enterprise Storage 7.1 | kernel-64kb +6 | 5.3.18-150300.59.201.1 | SUSE-SU-2025:1263-1 |
| SUSE Enterprise Storage 7.1 | kernel-default-base | 5.3.18-150300.59.201.1.150300.18.120.1 | SUSE-SU-2025:1263-1 |
Advisories 7
- SUSE-SU-2025:1194-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1176-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1241-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1027-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1183-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1293-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:1263-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Apr 16, 2025
References
- https://git.kernel.org/stable/c/422e8f7ba1e08c8e0e88d375bcb550bc2bbfe96d
- https://git.kernel.org/stable/c/0959aa00f9765bd8c654b1365012e41b51c733cc
- https://git.kernel.org/stable/c/e69e93120f6219b9cc4fba3b515b6ababd8548aa
- https://git.kernel.org/stable/c/27f672af28a8e9b783ff7f0eaf7ef2fbd5a2f4ba
- https://git.kernel.org/stable/c/cf9392282a2cf5a8d83dd1c5aa1a097e12f172bc
- https://git.kernel.org/stable/c/d8f1558e1daf54f53a90b4c5700ae3e3a4b13412
- https://git.kernel.org/stable/c/e68cb83a57a458b01c9739e2ad9cb70b04d1e6d2