KernelScan.io

HIGH

md/raid5 Journal OOB

CVE-2026-46070

CVSS 7.1 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

KernelScan AI5.0MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: md/raid5: validate payload size before accessing journal metadata r5c_recovery_analyze_meta_block() and r5l_recovery_verify_data_checksum_for_mb() iterate over payloads in a journal metadata block using on-disk payload size fields without validating them against the remaining space in the metadata block. A corrupted journal contains payload sizes extending beyond the PAGE_SIZE boundary can cause out-of-bounds reads when accessing payload fields or computing offsets. Add bounds validation for each payload type to ensure the full payload fits within meta_size before processing.

02

Engine v0.2.0

Risk summary

Systems using RAID5 with write-back cache (r5cache) are vulnerable to out-of-bounds memory reads during journal metadata recovery. An attacker with root privileges can corrupt on-disk journal metadata to trigger kernel memory disclosure or a kernel panic during array recovery. Physical access to storage media is an alternative attack path, but the primary assessed vector requires high privileges.

Affecteddrivers/md/raid5-cache.c (MD RAID subsystem)

Vulnerability analysis

The vulnerability exists in RAID5 cache recovery functions r5c_recovery_analyze_meta_block() and r5l_recovery_verify_data_checksum_for_mb(), which iterate over journal metadata payloads using on-disk size fields without first validating them against the remaining space in the metadata block. A corrupted journal with an oversized payload length causes out-of-bounds reads beyond the PAGE_SIZE metadata block boundary when the recovery code accesses payload fields or computes offsets. The fix adds explicit bounds validation for each payload type (DATA, PARITY, FLUSH), ensuring the computed payload length fits within meta_size before any data is accessed.

03

BranchFixed inPatch commit
5.105.10.258c96c6f01d84b
5.155.15.209ef4851d8324f
6.16.1.17528d3ff7109c6
6.126.12.86c3a1cf78bd1b
6.186.18.2773ce72edd113
6.66.6.14033698bd1b2db
7.07.0.4406aa86394ea
mainline7.1-rc1b0cc3ae97e89