dm array: reject an array block whose value size is not the caller's
Published Sep 11, 2026
7.8
HIGHCVSS 3.1
EPSS 0.13%
Description
array_block_check() can only compare the header against itself, so a block with value_size 4 and max_entries 1018 is internally consistent and passes. dm-cache keeps two arrays -- mappings at 8 bytes and hints at 4 -- and the roots for both live in the superblock. Point the mappings root at a hint block and __load_mappings() walks it through an info whose value size is 8, so element_at() strides 8 bytes over 4-byte entries and reaches offset 8160 of a 4096-byte block.
get_ablock() and __shadow_ablock() are the two places that hold the block and the caller at once. Reject there when the two value sizes disagree. Arrays only ever read their own blocks, so this fires on crafted metadata only.
Affected products
-
Affected
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
-
Affected
- 3.9
Unaffected
- ≥ 0, < 3.9
- ≥ 5.10.270, ≤ 5.10.*
- ≥ 5.15.221, ≤ 5.15.*
- ≥ 6.1.188, ≤ 6.1.*
- ≥ 6.12.109, ≤ 6.12.*
- ≥ 6.18.50, ≤ 6.18.*
- ≥ 6.6.157, ≤ 6.6.*
- ≥ 7.2.4, ≤ 7.2.*
- 7.3-rc1
Default status is the baseline for the product. Each version can override it (patched versions can be marked unaffected).
| Vendor | Product | Default status | Versions |
|---|---|---|---|
| Linux | Linux | unaffected | Affected
|
| Linux | Linux | affected | Affected
Unaffected
|
No data.
No data.
Red Hat Enterprise Linux 10
kernel
Fix deferred
Red Hat Enterprise Linux 10
kernel-rt
Fix deferred
Red Hat Enterprise Linux 6
kernel
Out of support scope
Red Hat Enterprise Linux 7
kernel
Fix deferred
Red Hat Enterprise Linux 7
kernel-rt
Fix deferred
Red Hat Enterprise Linux 8
kernel
Fix deferred
Red Hat Enterprise Linux 8
kernel-rt
Fix deferred
Red Hat Enterprise Linux 9
kernel
Fix deferred
Red Hat Enterprise Linux 9
kernel-rt
Fix deferred
Red Hat OpenShift Container Platform 4
openshift/ose-rhel-coreos-8
Fix deferred
Red Hat OpenShift Container Platform 4
openshift/ose-rhel-coreos-9
Fix deferred
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | kernel | Fix deferred | n/a |
| Red Hat Enterprise Linux 10 | kernel-rt | Fix deferred | n/a |
| Red Hat Enterprise Linux 6 | kernel | Out of support scope | n/a |
| Red Hat Enterprise Linux 7 | kernel | Fix deferred | n/a |
| Red Hat Enterprise Linux 7 | kernel-rt | Fix deferred | n/a |
| Red Hat Enterprise Linux 8 | kernel | Fix deferred | n/a |
| Red Hat Enterprise Linux 8 | kernel-rt | Fix deferred | n/a |
| Red Hat Enterprise Linux 9 | kernel | Fix deferred | n/a |
| Red Hat Enterprise Linux 9 | kernel-rt | Fix deferred | n/a |
| Red Hat OpenShift Container Platform 4 | openshift/ose-rhel-coreos-8 | Fix deferred | n/a |
| Red Hat OpenShift Container Platform 4 | openshift/ose-rhel-coreos-9 | Fix deferred | n/a |
No package ranges for this CVE.
Remediation
No remediation recorded yet.
References (14)
- https://access.redhat.com/security/cve/CVE-2026-89573 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2532210 Issue Tracking
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-76485 Advisory
- https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89573.mbox
- https://git.kernel.org/stable/c/35cd3b278448c79614f65ab6bbc9ed348d847df9
- https://git.kernel.org/stable/c/4538a287bdf5d0f9a379c678e5262b9f5783f547
- https://git.kernel.org/stable/c/522fa26da24ccaa298ebe3c1c97395d2d63dfc21
- https://git.kernel.org/stable/c/7bf4b5cb42a4e27f36bcbc6209d82a5da9c0168c
- https://git.kernel.org/stable/c/a530a9a419a7c5fdb7dae55ffa2dd7a130631842
- https://git.kernel.org/stable/c/a8237cb8fa0a628d903e76635bfdeae4202036b9
- https://git.kernel.org/stable/c/ac4a5eb8b002a0742c938fc98b922e243f53573a
- https://git.kernel.org/stable/c/cb409b38b0232ee4385ef55cddcd6fbdd011a8a2
- https://nvd.nist.gov/vuln/detail/CVE-2026-89573
- https://www.cve.org/CVERecord?id=CVE-2026-89573
Change history (0)
No recorded changes yet.
CVE.org / MITRE
CISA Vulnrichment
No data
GitHub
No data