CVE-2026-89588: ACPI: APEI: GHES: fix ARM section length accounting after header
In the Linux kernel, the following vulnerability has been resolved:
ACPI: APEI: GHES: fix ARM section length accounting after header
In gheshandlearmhwerror(), after skipping the cpersecprocarm header with (err + 1), the remaining length was reduced by sizeof(err) (pointer size) instead of sizeof(err) (structure size).
That overestimates the bytes left for cperarmerrinfo records and can let the parser read past the CPER section when errinfonum is large enough relative to errordatalength.
Use sizeof(err) so the length accounting matches the pointer advance and the earlier sizeof(err) size check.
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Linux kernel systems that process ARM processor hardware-error sections through the ACPI APEI GHES path are relevant. The issue is triggered while parsing CPER section data containing ARM error-information records.
How can I verify that the correction is present in source code?
In ghes_handle_arm_hw_error(), after advancing past the header with err + 1, the remaining length must be reduced by sizeof(*err), not sizeof(err). The corrected accounting should match the pointer advance and the existing sizeof(*err) size check.