CVE-2022-50671

Description

A NULL pointer dereference vulnerability was found in the RXE (Soft-RoCE) RDMA driver in the Linux kernel. When rxe_queue_init() fails during queue pair initialization in rxe_qp_init_req(), the task function and argument pointers (qp->req.task.func and qp->req.task.arg) remain uninitialized. The cleanup function rxe_qp_do_cleanup() then attempts to use these uninitialized pointers when calling __rxe_do_task(), causing a kernel NULL pointer dereference.

Statement

This is a NULL pointer dereference in the Soft-RoCE RDMA driver that can cause a kernel crash. The vulnerability requires local access and the ability to create RDMA queue pairs, limiting the attack surface to users with RDMA access.

Mitigation

To mitigate this issue, prevent the rdma_rxe module from being loaded. See https://access.redhat.com/solutions/41278 for instructions on how to blacklist a kernel module.

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 Score4.7N/AN/A
Attack VectorLocalN/AN/A
Attack ComplexityHighN/AN/A
Privileges RequiredLowN/AN/A
User InteractionNoneN/AN/A
ScopeUnchangedN/AN/A
ConfidentialityNoneN/AN/A
Integrity ImpactNoneN/AN/A
Availability ImpactHighN/AN/A

Vector

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

Understanding the Weakness (CWE)

Confidentiality

Technical Impact: Read Memory

If the uninitialized pointer is used in a read operation, an attacker might be able to read sensitive portions of memory.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

If the uninitialized pointer references a memory location that is not accessible to the product, or points to a location that is "malformed" (such as NULL) or larger than expected by a read or write operation, then a crash may occur.

Integrity,Confidentiality,Availability

Technical Impact: Execute Unauthorized Code or Commands

If the uninitialized pointer is used in a function call, or points to unexpected data in a write operation, then code execution may be possible.

Frequently Asked Questions

Want to get errata notifications? Sign up here.