CVE-2024-58079

Description

A flaw was found in the Linux kernel's uvcvideo driver. A local user with a device containing a GPIO (General Purpose Input/Output) unit could trigger a system crash by unbinding the driver from the USB interface. This occurs because cleanup functions are not properly called, leading to an Interrupt Request (IRQ) attempting to access freed memory. This vulnerability results in a Denial of Service (DoS).

Mitigation

To mitigate this issue, prevent the `uvcvideo` kernel module from loading. This can be achieved by creating a modprobe configuration file.

Create a file named `/etc/modprobe.d/uvcvideo.conf` with the following content:

install uvcvideo /bin/true
After creating the file, a system reboot is required for the changes to take effect. Alternatively, if the module is currently loaded, it can be unloaded using `rmmod uvcvideo` (if not in use) and then reloaded, or the system can be rebooted. Disabling this module may affect the functionality of USB video devices.

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).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score5.55.57.8
Attack VectorLocalLocalLocal
Attack ComplexityLowLowLow
Privileges RequiredLowLowLow
User InteractionNoneNoneNone
ScopeUnchangedUnchangedUnchanged
ConfidentialityNoneNoneHigh
Integrity ImpactNoneNoneHigh
Availability ImpactHighHighHigh

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

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

Understanding the Weakness (CWE)

Confidentiality

Technical Impact: Read Memory

If the expired pointer is used in a read operation, an attacker might be able to control data read in by the application.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

If the expired 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 expired 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.