CVE-2026-64318

CVE-2026-64318

High · published July 25, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
5.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

partitions: aix: bound the pp_count scan to the ppe array

aix_partition() reads the physical volume descriptor into a fixed-size

struct pvd and then scans its physical-partition-extent array:

int numpps = be16_to_cpu(pvd->pp_count);

...

for (i = 0; i < numpps; i += 1) {

struct ppe *p = pvd->ppe + i;

...

lp_ix = be16_to_cpu(p->lp_ix);

pvd points at a single kmalloc()'d struct pvd whose ppe[] member holds a

fixed ARRAY_SIZE(pvd->ppe) (1016) entries, but the loop runs up to the

on-disk pp_count. pp_count is an unvalidated __be16 read straight from

the descriptor, so a crafted AIX image with pp_count larger than 1016

drives the loop to read pvd->ppe[i] past the end of the allocation (up

to 65535 entries, ~2 MB out of bounds).

The partition scan runs without mounting anything, when a block device

with a crafted AIX/IBM partition table appears (an attacker-supplied

image attached with losetup -P, or a device auto-scanned by udev), via

msdos_partition() -> aix_partition().

Clamp the scan to the number of entries the ppe[] array can hold.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00164 · 5.3th percentile
Published
2026-07-25T14:17Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 3.11, < 5.10.2615.10.261
linux/linux_kernel≥ 5.11, < 5.15.2125.15.212
linux/linux_kernel≥ 5.16, < 6.1.1786.1.178
linux/linux_kernel≥ 6.2, < 6.6.1456.6.145
linux/linux_kernel≥ 6.7, < 6.12.966.12.96
linux/linux_kernel≥ 6.13, < 6.18.396.18.39
linux/linux_kernel≥ 6.19, < 7.1.47.1.4
References (8)
EPSS history
Timeline
  • 25 JUL 08:49Z
    partitions: aix: bound the pp_count scan to the ppe array
    cvelistv5