CVE-2022-50527

Description

A NULL pointer dereference flaw was found in the Linux kernel's AMD GPU driver in the buffer object size validation logic. A local user on systems with AMD graphics hardware can trigger this issue by requesting memory allocation in non-exclusive domains when the Translation Table Manager domain manager has not been initialized. This causes the kernel to dereference a NULL pointer when validating buffer sizes, resulting in a kernel crash and denial of service.

Statement

The amdgpu_bo_validate_size function attempts to validate buffer allocations by checking domain manager constraints, but fails to verify that the domain manager pointer is non-NULL before dereferencing it. When a buffer object is created with a domain configuration that lacks an initialized manager, particularly for the Graphics Translation Table domain, the code accesses the NULL manager pointer, triggering an immediate kernel oops. This occurs during graphics memory allocation operations, which any local user with access to AMD GPU devices can initiate through normal graphics API calls

Mitigation

To mitigate this issue, prevent the amdgpu module from being loaded. See https://access.redhat.com/solutions/41278 for instructions on blacklisting kernel modules.

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.