CVE-2023-53678
Description
A NULL pointer dereference was found in the Linux kernel Intel i915 graphics driver's framebuffer device suspend handling. On platforms without display hardware where fbdev is not initialized, a local user with privileges to initiate system suspend can trigger the suspend path, causing the driver to attempt locking a mutex in the uninitialized fbdev structure, which results in a kernel NULL pointer dereference and denial of service through system crash.
Statement
The issue arises because the i915 driver's suspend path unconditionally attempts to suspend the framebuffer device without checking whether fbdev was successfully initialized. On platforms lacking display hardware (such as certain server or embedded configurations), fbdev initialization is skipped entirely, leaving the structure NULL. When system suspend is initiated through standard mechanisms (writing to /sys/power/state), the power management subsystem calls into the i915 driver's suspend handler, which then calls intel_fbdev_set_suspend(). This function attempts to acquire a mutex at offset 0x1c8 within the NULL fbdev structure, triggering an immediate kernel NULL pointer dereference. The crash occurs reliably on affected hardware configurations whenever suspend is attempted. While this is a severe availability issue causing complete system failure, exploitation is limited to users with privileges to initiate system suspend operations, and there is no memory corruption or information disclosure beyond the crash itself.
Mitigation
To mitigate this issue, prevent the i915 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 Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5.5 | 5.5 | N/A |
| Attack Vector | Local | Local | N/A |
| Attack Complexity | Low | Low | N/A |
| Privileges Required | Low | Low | N/A |
| User Interaction | None | None | N/A |
| Scope | Unchanged | Unchanged | N/A |
| Confidentiality | None | None | N/A |
| Integrity Impact | None | None | N/A |
| Availability Impact | High | High | N/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
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.