CVE-2026-31744: PM: EM: Fix NULL pointer dereference when perf domain ID is not found

Published May 1, 2026
·
Updated

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

PM: EM: Fix NULL pointer dereference when perf domain ID is not found

devenergymodelnlgetperfdomainsdoit() calls emperfdomaingetbyid() but does not check the return value before passing it to emnlgetpdsize(). When a caller supplies a non-existent perf domain ID, emperfdomaingetbyid() returns NULL, and emnlgetpdsize() immediately dereferences pd->cpus (struct offset 0x30), causing a NULL pointer dereference.

The sister handler devenergymodelnlgetperftabledoit() already handles this correctly via emnlgetpdtableid(), which returns NULL and causes the caller to return -EINVAL. Add the same NULL check in the get-perf-domains do handler.

[ rjw: Subject and changelog edits ]

Affected Software

12 affected components
Linux Linux kernel
Linux Linux kernel>=6.19.1<6.19.12
Linux Linux kernel=6.19-rc6
Linux Linux kernel=6.19-rc7
Linux Linux kernel=6.19-rc8
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
Linux Linux kernel=7.0-rc7

Event History

May 1, 2026
CVE Published
via MITRE·02:14 PM
Data Sourced
via MITRE·02:14 PM
Description
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who can realistically trigger the issue?

Systems are exposed when a local, low-privileged user can invoke the energy-model netlink get-perf-domains handler and supply a performance-domain ID that does not exist. The described impact is a NULL pointer dereference resulting in a denial of service.

2

What does an attacker need to do to trigger the crash?

Exploitation requires local access, low privileges, and no user interaction. The attacker supplies a non-existent performance-domain ID, causing the lookup to return NULL before the vulnerable handler dereferences it.

3

What behavior changes after applying the patch?

The fix adds a NULL check to the get-perf-domains handler so that an unknown performance-domain ID is rejected with -EINVAL rather than dereferenced. Apply an available patch from the referenced stable kernel commits.

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