CVE-2026-64318: partitions: aix: bound the pp_count scan to the ppe array

Published Jul 25, 2026
·
Updated

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

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

aixpartition() reads the physical volume descriptor into a fixed-size struct pvd and then scans its physical-partition-extent array:

int numpps = be16tocpu(pvd->ppcount); ... for (i = 0; i < numpps; i += 1) { struct ppe p = pvd->ppe + i; ... lpix = be16tocpu(p->lpix);

pvd points at a single kmalloc()'d struct pvd whose ppe[] member holds a fixed ARRAYSIZE(pvd->ppe) (1016) entries, but the loop runs up to the on-disk ppcount. ppcount is an unvalidated be16 read straight from the descriptor, so a crafted AIX image with ppcount 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 msdospartition() -> aixpartition().

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

Affected Software

8 affected components
Linux Kernel
Linux Linux kernel>=3.11<5.10.261
Linux Linux kernel>=5.11<5.15.212
Linux Linux kernel>=5.16<6.1.178
Linux Linux kernel>=6.2<6.6.145
Linux Linux kernel>=6.7<6.12.96
Linux Linux kernel>=6.13<6.18.39
Linux Linux kernel>=6.19<7.1.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update the Linux kernel so that the partition scan bounds the AIX pp_count scan to the ppe array capacity (fixed ARRAY_SIZE(pvd->ppe) = 1016) instead of iterating up to the unvalidated on-disk pp_count value (up to 65535).

    Linux kernel AIX partition scanner (aix_partition/msdos_partition) pp_count scan bounds = Clamp the loop upper bound to ARRAY_SIZE(pvd->ppe) (1016) so the scan does not read pvd->ppe[i] past the end of the allocation

Event History

Jul 25, 2026
CVE Published
via MITRE·08:49 AM
Data Sourced
via MITRE·08:49 AM
DescriptionSeverity
Data Sourced
via NVD·10:17 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

Who can trigger this issue in practice?

A local attacker who can cause the system to scan an attacker-controlled block-device image or device with a crafted AIX/IBM partition table can trigger it. The described paths include attaching an image with losetup -P and devices automatically scanned by udev.

2

Is mounting the crafted filesystem required?

No. The vulnerable partition scan occurs before mounting, when the block device is scanned through msdos_partition() and then aix_partition().

3

What makes the crafted partition table malicious?

Its on-disk pp_count value is set above the fixed ppe[] array capacity of 1016 entries. The vulnerable code trusts that value and can read beyond the allocated partition descriptor structure.

4

What is the immediate mitigation if a fix cannot be applied?

Avoid attaching or allowing automatic scanning of untrusted block devices or disk images that could contain crafted AIX/IBM partition tables. In particular, do not use losetup -P on untrusted images.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203