GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel pm80xx: out-of-bounds phy array index when unloading the driver behind a SAS expander

CVSS 7.8CVE-2025-40118Kernel, userspace & hypervisorcurated

Impact

For devices reached through a SAS expander, attached_phy holds the expander's remote phy id, which can be far larger than the number of phys on the HBA itself, yet the driver used it to index the fixed 16-entry pm8001_ha->phy array when clearing phy_attached. The reporter saw index 28 used on an 8-phy HBA with a 31-phy expander, which is an out-of-bounds access in kernel memory during driver teardown. This touches real datacenter storage - PMC/Microsemi SAS HBAs fronting JBODs on storage and head nodes, including the shared filesystem servers a GPU fleet depends on. Exposure is narrow: the path is reached on module unload or device teardown, which is root-only, so the realistic outcome is a corrupted-memory crash on a storage node rather than a tenant-reachable escalation.

Who can reach it

Local and root-privileged: unloading the pm80xx module (or equivalent device teardown) on a host with a pm80xx HBA and a SAS expander attached. Not reachable from a tenant workload and not reachable over the network.

What to do

Update to a stable kernel containing the fix that clears phy_attached only for directly attached devices (commits in the record). Until then, avoid rmmod of pm80xx on affected storage nodes - the condition is not hit during normal operation. The fix is a kernel upgrade, so each affected storage or head node needs a maintenance reboot; schedule it with the normal kernel cadence.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.