CVE-2023-53664

Description

A NULL pointer dereference flaw was found in the Linux kernel's OPP (Operating Performance Points) framework in the power state retrieval logic. A local user can trigger this issue by invoking power management operations when the OPP pointer is dereferenced to cache the opp_table before checking whether the pointer is valid. This causes the kernel to dereference a NULL or error pointer, resulting in a kernel crash and denial of service.

Statement

The dev_pm_opp_get_required_pstate function attempts to optimize by caching opp->opp_table in a local variable before validating that the opp pointer is non-NULL or not an error value. When the opp pointer is NULL or contains an error code, the dereference on line 230 occurs before the IS_ERR_OR_NULL check on line 232. This violates the principle of checking pointer validity before use and causes an immediate kernel crash when the function is called with invalid input. The issue can occur during power management operations on devices that use the OPP framework for dynamic voltage and frequency scaling.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score5.55.5N/A
Attack VectorLocalLocalN/A
Attack ComplexityLowLowN/A
Privileges RequiredLowLowN/A
User InteractionNoneNoneN/A
ScopeUnchangedUnchangedN/A
ConfidentialityNoneNoneN/A
Integrity ImpactNoneNoneN/A
Availability ImpactHighHighN/A

Vector

Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

NVD: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Understanding the Weakness (CWE)

Availability

Technical Impact: DoS: Crash, Exit, or Restart

NULL pointer dereferences usually result in the failure of the process unless exception handling (on some platforms) is available and implemented. Even when exception handling is being used, it can still be very difficult to return the software to a safe state of operation.

Integrity,Confidentiality

Technical Impact: Execute Unauthorized Code or Commands; Read Memory; Modify Memory

In rare circumstances, when NULL is equivalent to the 0x0 memory address and privileged code can access it, then writing or reading memory is possible, which may lead to code execution.

Frequently Asked Questions

Want to get errata notifications? Sign up here.