CVE-2022-50506

Description

A NULL pointer dereference was found in the Linux kernel Distributed Replicated Block Device driver's I/O request handling. A local user with privileges to perform I/O operations on a DRBD block device can trigger I/O requests when the DRBD device is configured in diskless mode (no local backing device), causing the driver to dereference a NULL pointer when attempting to access the backing device structure, which results in denial of service through kernel crash.

Statement

The issue arises because of a code refactoring that moved device structure access earlier in the I/O request path without adding proper NULL validation. When drbd_req_new() processes a new I/O request, it attempts to clone the bio and access device->ldev->backing_bdev to set up the backing device information. However, when DRBD is configured in diskless mode (a valid configuration where DRBD acts purely as a network replication layer without local storage), the ldev pointer is NULL. The code lacks a check for this condition before dereferencing the pointer chain, causing an immediate kernel NULL pointer dereference. This occurs reliably whenever I/O is attempted on a diskless DRBD device. While this causes complete system failure through kernel panic, NULL pointer dereferences on modern kernels with memory protection mechanisms cannot be exploited for code execution or information disclosure, only denial of service.

Mitigation

To mitigate this issue, prevent the drbd module from loading. 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.