CVE-2026-89587

Source
https://cve.org/CVERecord?id=CVE-2026-89587
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89587.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-89587
Downstream
Published
2026-09-11T19:44:52Z
Modified
2026-09-13T03:47:19Z
Summary
ACPI: pfr_update: fix stack buffer overflow in query_capability()
Details

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

ACPI: pfr_update: fix stack buffer overflow in query_capability()

query_capability() copies four ACPI buffer objects returned by the firmware _DSM into fixed-size u8[16] fields in struct pfru_update_cap_info using memcpy with the firmware-supplied length:

memcpy(&cap_hdr->code_type, elements[CAP_CODE_TYPE_IDX].buffer.pointer, elements[CAP_CODE_TYPE_IDX].buffer.length);

The same pattern repeats for drv_type, platform_id, and oem_id. If the firmware returns buffer.length > 16 for any of these fields, memcpy writes past the destination array.

struct pfru_update_cap_info is stack-allocated in pfru_ioctl().

Confirmed with KASAN on 7.2-rc6: three stack-out-of-bounds reports are generated when a DSM returns 64-byte buffers, with writes reaching 44 bytes past the end of cap_hdr's [64, 156) frame window into adjacent stack redzones.

Introduce a helper pointer to out_obj->package.elements and use it to validate each buffer length against its destination field size before copying, returning -EINVAL if the firmware supplies an oversized buffer.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89587.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0db89fa243e5edc5de38c88b369e4c3755c5fb74
Fixed
a2151624b55029dad0ca7efd17fb83a0461c8843
Fixed
6d4ed2fd022bc862b156e53aae163b61259e1caa
Fixed
15d2b7f38f95d28652170344f39ee492c55e567c
Fixed
ced45be0073a8a31b30b4a7f68cd3a15734515de

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89587.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.17.0
Fixed
6.12.109
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.50
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.2.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89587.json"