Description
In the Linux kernel, the following vulnerability has been resolved:

media: pwc: Return queued buffers on start_streaming() failure

The vb2 framework hands buffers to the driver via buf_queue() before
calling start_streaming(). If start_streaming() returns an error
without first returning those buffers via vb2_buffer_done(),
vb2_start_streaming() fires WARN_ON(owned_by_drv_count) and the queued
buffers leak.

pwc's start_streaming() had two early returns that hit this trap:
-ENODEV when the USB device was already disconnected, and -ERESTARTSYS
when mutex_lock_interruptible() was interrupted by a signal. Call the
existing pwc_cleanup_queued_bufs() helper with VB2_BUF_STATE_QUEUED
before returning (matching the state already used by the
pwc_isoc_init() error path in the same function).

This mirrors the uvcvideo fix in commit 4cf3b6fd54eb ("media: uvcvideo:
Return queued buffers on start_streaming() failure").
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A kernel media driver bug causes queued buffers to be left in memory when the streaming start routine fails. The leaked buffers are not returned to the buffer framework, producing a kernel warning and a persistent memory leak. This weakness is aligned with missing resource deallocation (e.g., CWE‑775). The impact is an unintended use of kernel memory that can degrade system availability and may lead to denial‑of‑service if the leak accumulates over time.

Affected Systems

The flaw affects the Linux kernel media subsystem driver for USB Video Class devices (pwc). The specific kernel versions that contain the bug are not listed in the advisory, so administrators should consult the kernel release notes for the patch that implements the fix in the referenced commits.

Risk and Exploitability

Because the vulnerability arises during a standard device streaming operation, it is an in‑kernel issue that would typically require local access to the USB device and the ability to trigger start_streaming(). The risk level is moderate; an attacker could potentially exhaust memory and destabilise the system. No EPSS score is available, and the bug is not listed in CISA’s KEV catalog, indicating that it is not yet a known exploited vulnerability. The attacker would need to interact with the affected USB device, so remote exploitation is unlikely without additional privileges.

Generated by OpenCVE AI on August 10, 2026 at 14:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that implements pwc_cleanup_queued_bufs before returning from start_streaming(), as referenced in the advisory commits.
  • Upgrade the system to a Linux kernel version that includes this patch; verify that the driver is fully updated and that the changes are present in the running kernel.
  • If an immediate kernel update is not possible, consider disabling or restricting access to the pwc driver (e.g., block /dev/video devices for untrusted users) to prevent the start_streaming() operation from being invoked.

Generated by OpenCVE AI on August 10, 2026 at 14:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-775

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: media: pwc: Return queued buffers on start_streaming() failure The vb2 framework hands buffers to the driver via buf_queue() before calling start_streaming(). If start_streaming() returns an error without first returning those buffers via vb2_buffer_done(), vb2_start_streaming() fires WARN_ON(owned_by_drv_count) and the queued buffers leak. pwc's start_streaming() had two early returns that hit this trap: -ENODEV when the USB device was already disconnected, and -ERESTARTSYS when mutex_lock_interruptible() was interrupted by a signal. Call the existing pwc_cleanup_queued_bufs() helper with VB2_BUF_STATE_QUEUED before returning (matching the state already used by the pwc_isoc_init() error path in the same function). This mirrors the uvcvideo fix in commit 4cf3b6fd54eb ("media: uvcvideo: Return queued buffers on start_streaming() failure").
Title media: pwc: Return queued buffers on start_streaming() failure
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-10T12:00:35.592Z

Reserved: 2026-07-30T09:28:09.375Z

Link: CVE-2026-68216

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T14:30:04Z

Weaknesses
  • CWE-775

    Missing Release of File Descriptor or Handle after Effective Lifetime