Description
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.
Published: 2026-07-25
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s AIX partition parser contains an out‑of‑bounds read that occurs when the parsed pp_count field, read directly from the disk header, exceeds the statically allocated ppe array size of 1,016; a maliciously crafted AIX image can therefore cause the kernel to read beyond the bounds of the allocated structure, potentially exposing kernel memory contents to the user space.

Affected Systems

Any Linux kernel that has not yet received the patch addressing this flaw is vulnerable; the issue surfaces during the partition detection code path invoked by msdos_partition(), which runs automatically when a block device exposes a malformed AIX partition table—this can happen through user‑initiated loopback device attachment (losetup) or via automated device discovery by udev.

Risk and Exploitability

With a CVSS score of 7.1 the severity is high, yet the EPSS score is below 1 % and the vulnerability is not listed in CISA’s KEV catalog, indicating a low likelihood of exploitation in the wild; an attacker would need to supply a crafted AIX image to a block device that the system scans, which requires local access or ability to influence udev rules. Because the flaw only permits an out‑of‑bounds read, it does not provide a vector for code execution but can leak privileged kernel data, posing a serious confidentiality risk.

Generated by OpenCVE AI on August 5, 2026 at 00:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor‑supplied kernel update that introduces a bounds check for the pp_count field in the AIX partition parser.
  • If a kernel update is unavailable, disable automatic AIX partition probing by removing or restricting udev rules that invoke msdos_partition() for all disk devices.
  • Before attaching a block device that may contain an AIX partition table, validate the image to ensure the pp_count value does not exceed the 1,016 entry limit.

Generated by OpenCVE AI on August 5, 2026 at 00:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Wed, 29 Jul 2026 12:15:00 +0000


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'}


Sun, 26 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description 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.
Title partitions: aix: bound the pp_count scan to the ppe array
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:55.761Z

Reserved: 2026-07-19T15:36:31.779Z

Link: CVE-2026-64318

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:13.147

Modified: 2026-08-11T15:00:57.447

Link: CVE-2026-64318

cve-icon Redhat

Severity :

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64318 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T01:00:07Z

Weaknesses