CVE-2025-22126 json
md: fix mddev uaf while iterating all_mddevs list
published 2025-04-16 18 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-11165
- cvss
- 7.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 9%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
md: fix mddev uaf while iterating all_mddevs list
While iterating all_mddevs list from md_notify_reboot() and md_exit(), list_for_each_entry_safe is used, and this can race with deletint the next mddev, causing UAF:
t1: spin_lock //list_for_each_entry_safe(mddev, n, ...) mddev_get(mddev1) // assume mddev2 is the next entry spin_unlock t2: //remove mddev2 ... mddev_free spin_lock list_del spin_unlock kfree(mddev2) mddev_put(mddev1) spin_lock //continue dereference mddev2->all_mddevs
The old helper for_each_mddev() actually grab the reference of mddev2 while holding the lock, to prevent from being freed. This problem can be fixed the same way, however, the code will be complex.
Hence switch to use list_for_each_entry, in this case mddev_put() can free the mddev1 and it's not safe as well. Refer to md_seq_show(), also factor out a helper mddev_put_locked() to fix this problem.
Patch / fix
- Linux Linux 6.1.135, 6.6.88, 6.12.25, 6.14.2, 6.15
- linux Debian 12 6.1.135-1
- linux Debian 14, Debian 13 6.12.22-1
debian advisories DEBIAN-CVE-2025-22126
- linux Ubuntu 24.04 LTS 6.8.0-100.100
- linux-aws Ubuntu 24.04 LTS 6.8.0-1046.49
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1047.50
- linux-gke Ubuntu 24.04 LTS 6.8.0-1043.48
- linux-ibm Ubuntu 24.04 LTS 6.8.0-1044.44
- linux-azure Ubuntu 24.04 LTS 6.8.0-1046.52
- linux-gkeop Ubuntu 24.04 LTS 6.8.0-1030.33
- linux-raspi Ubuntu 24.04 LTS 6.8.0-1047.51
ubuntu advisories UBUNTU-CVE-2025-22126
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel RHEL 9 5.14.0-570.22.1.el9_6
- rv RHEL 9 5.14.0-570.22.1.el9_6
- perf RHEL 9 5.14.0-570.22.1.el9_6
- rtla RHEL 9 5.14.0-570.22.1.el9_6
- libperf RHEL 9 5.14.0-570.22.1.el9_6
- kernel-rt RHEL 9 5.14.0-570.22.1.el9_6
- kernel-64k RHEL 9 5.14.0-570.22.1.el9_6
- kernel-core RHEL 9 5.14.0-570.22.1.el9_6
red hat advisories RHSA-2025:10701RHSA-2025:10547RHSA-2025:10536RHSA-2025:9080
- dtb-aarch64 openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-64kb SLE Module for Basesystem 15 SP6, openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-syms SLE Module for Development Tools 15 SP6, openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-obs-qa openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-source SLE Module for Development Tools 15 SP6, SLE Module for Basesystem 15 SP6, openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-default SLE Workstation Extension 15 SP6, SLE Module for Legacy 15 SP6, SLE Module for Basesystem 15 SP6 +3 more 6.4.0-150600.23.53.1
- kernel-kvmsmall openSUSE Leap 15.6 6.4.0-150600.23.53.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP6, openSUSE Leap 15.6 6.4.0-150600.23.53.1
suse advisories SUSE-SU-2025:02000-1SUSE-SU-2025:01972-1SUSE-SU-2025:20413-1SUSE-SU-2025:01967-1SUSE-SU-2025:01965-1SUSE-SU-2025:01964-1
- kernel AlmaLinux 9 5.14.0-570.22.1.el9_6
- rv AlmaLinux 9 5.14.0-570.22.1.el9_6
- perf AlmaLinux 9 5.14.0-570.22.1.el9_6
- rtla AlmaLinux 9 5.14.0-570.22.1.el9_6
- libperf AlmaLinux 9 5.14.0-570.22.1.el9_6
- kernel-rt AlmaLinux 9 5.14.0-570.22.1.el9_6
- kernel-64k AlmaLinux 9 5.14.0-570.22.1.el9_6
- kernel-core AlmaLinux 9 5.14.0-570.22.1.el9_6
almalinux advisories ALSA-2025:9080
- git.kernel.org/stable/c/ca9f84de76723b358dfc0606668efdca54afc2e5 commit
- git.kernel.org/stable/c/d69a23d8e925f8052d657652a6875ec2712c7e33 commit
- git.kernel.org/stable/c/e2a9f73ee408a460f4c9dfe03b4741d6b11652b8 commit
- git.kernel.org/stable/c/5462544ccbad3fc938a71b01fa5bd3a0dc2b750a commit
- git.kernel.org/stable/c/8542870237c3a48ff049b6c5df5f50c8728284fa commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-22126 updated cvss 7.0
kernel: md: fix mddev uaf while iterating all_mddevs list
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 moreaffected: no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder EUS (v.9.4) libperf 5.14.0-427.76.1.el9_4, kernel-debuginfo-common-s390x 5.14.0-427.76.1.el9_4, kernel-debuginfo-common-x86_64 5.14.0-427.76.1.el9_4, kernel-debuginfo-common-aarch64 5.14.0-427.76.1.el9_4, kernel-debuginfo-common-ppc64le 5.14.0-427.76.1.el9_4fixed: vendor fix RHSA-2025:10701
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-570.22.1.el9_6, perf 5.14.0-570.22.1.el9_6, rtla 5.14.0-570.22.1.el9_6, python3-perf 5.14.0-570.22.1.el9_6, kernel-devel-matched 5.14.0-570.22.1.el9_6, kernel-64k-devel-matched 5.14.0-570.22.1.el9_6, +7 morefixed: vendor fix RHSA-2025:9080
-
Red Hat Enterprise Linux AppStream E4S (v.9.2) perf 5.14.0-284.122.1.el9_2, rtla 5.14.0-284.122.1.el9_2, kernel-devel-matched 5.14.0-284.122.1.el9_2, kernel-64k-devel-matched 5.14.0-284.122.1.el9_2, kernel-debug-devel-matched 5.14.0-284.122.1.el9_2, kernel-debuginfo-common-s390x 5.14.0-284.122.1.el9_2, +5 morefixed: vendor fix RHSA-2025:10547
-
Red Hat Enterprise Linux AppStream EUS (v.9.4) rv 5.14.0-427.76.1.el9_4, perf 5.14.0-427.76.1.el9_4, rtla 5.14.0-427.76.1.el9_4, kernel-devel-matched 5.14.0-427.76.1.el9_4, kernel-64k-devel-matched 5.14.0-427.76.1.el9_4, kernel-debug-devel-matched 5.14.0-427.76.1.el9_4, +6 morefixed: vendor fix RHSA-2025:10701
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-570.22.1.el9_6, kernel-64k 5.14.0-570.22.1.el9_6, kernel-core 5.14.0-570.22.1.el9_6, kernel-tools 5.14.0-570.22.1.el9_6, kernel-modules 5.14.0-570.22.1.el9_6, kernel-64k-core 5.14.0-570.22.1.el9_6, +27 morefixed: vendor fix RHSA-2025:9080
-
Red Hat Enterprise Linux BaseOS E4S (v.9.2) bpftool 7.0.0-284.122.1.el9_2, kernel 5.14.0-284.122.1.el9_2, kernel-64k 5.14.0-284.122.1.el9_2, kernel-core 5.14.0-284.122.1.el9_2, kernel-tools 5.14.0-284.122.1.el9_2, python3-perf 5.14.0-284.122.1.el9_2, +28 morefixed: vendor fix RHSA-2025:10547
show 8 moreshow fewer
-
Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool 7.3.0-427.76.1.el9_4, kernel 5.14.0-427.76.1.el9_4, kernel-64k 5.14.0-427.76.1.el9_4, kernel-core 5.14.0-427.76.1.el9_4, kernel-tools 5.14.0-427.76.1.el9_4, python3-perf 5.14.0-427.76.1.el9_4, +28 morefixed: vendor fix RHSA-2025:10701
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-570.22.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.22.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.22.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.22.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.22.1.el9_6 Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-570.22.1.el9_6, kernel-rt-64k 5.14.0-570.22.1.el9_6, kernel-rt-core 5.14.0-570.22.1.el9_6, kernel-rt-modules 5.14.0-570.22.1.el9_6, kernel-rt-64k-core 5.14.0-570.22.1.el9_6, kernel-rt-debug-core 5.14.0-570.22.1.el9_6, +14 morefixed: vendor fix RHSA-2025:9080
-
Red Hat Enterprise Linux Real Time E4S (v.9.2) kernel-rt 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-core 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-modules 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-debug-core 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-modules-core 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-debug-modules 5.14.0-284.122.1.rt14.407.el9_2, +4 morefixed: vendor fix RHSA-2025:10536
-
Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt 5.14.0-427.76.1.el9_4, kernel-rt-core 5.14.0-427.76.1.el9_4, kernel-rt-modules 5.14.0-427.76.1.el9_4, kernel-rt-debug-core 5.14.0-427.76.1.el9_4, kernel-rt-modules-core 5.14.0-427.76.1.el9_4, kernel-rt-debug-modules 5.14.0-427.76.1.el9_4, +4 morefixed: vendor fix RHSA-2025:10701
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-570.22.1.el9_6, kernel-rt-kvm 5.14.0-570.22.1.el9_6, kernel-rt-core 5.14.0-570.22.1.el9_6, kernel-rt-modules 5.14.0-570.22.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.22.1.el9_6, kernel-rt-debug-core 5.14.0-570.22.1.el9_6, +6 morefixed: vendor fix RHSA-2025:9080
-
Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) kernel-rt 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-kvm 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-core 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-modules 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-debug-kvm 5.14.0-284.122.1.rt14.407.el9_2, kernel-rt-debug-core 5.14.0-284.122.1.rt14.407.el9_2, +6 morefixed: vendor fix RHSA-2025:10536
-
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt 5.14.0-427.76.1.el9_4, kernel-rt-kvm 5.14.0-427.76.1.el9_4, kernel-rt-core 5.14.0-427.76.1.el9_4, kernel-rt-modules 5.14.0-427.76.1.el9_4, kernel-rt-debug-kvm 5.14.0-427.76.1.el9_4, kernel-rt-debug-core 5.14.0-427.76.1.el9_4, +6 morefixed: vendor fix RHSA-2025:10701
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
-
git.kernel.org
/stable/c/ca9f84de76723b358dfc0606668efdca54afc2e5
patch
-
git.kernel.org
/stable/c/d69a23d8e925f8052d657652a6875ec2712c7e33
patch
-
git.kernel.org
/stable/c/e2a9f73ee408a460f4c9dfe03b4741d6b11652b8
patch
-
git.kernel.org
/stable/c/5462544ccbad3fc938a71b01fa5bd3a0dc2b750a
patch
-
git.kernel.org
/stable/c/8542870237c3a48ff049b6c5df5f50c8728284fa
patch
- lists.debian.org /debian-lts-announce/2025/05/msg00045.html
Sources
- CVE List CVE-2025-22126
- NVD CVE-2025-22126
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.