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

media: vivid: check for vb2_is_busy() when toggling caps

The vivid_update_format_cap/out() functions must only be called if the
capture/output queue are not busy. But for the controls that select
the CROP/COMPOSE/SCALE capability that is not checked.

Only when streaming starts will they be set to 'grabbed' and it is
impossible to change the control, but between REQBUFS and STREAMON you
are still allowed to set these controls. Since vivid_update_format_cap/out
will change the format, this can cause unexpected results.

Besides adding these checks, also add a WARN_ON in
vivid_update_format_cap/out() if the queue is busy.

I'm 90% certain that this is the cause of this syzbot bug:

https://syzkaller.appspot.com/bug?extid=dac8f5eaa46837e97b89

But since we never have reproducers, it is hard to be certain. In any case,
these checks are needed regardless.
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel media driver, the vivid_update_format_cap/out() functions were called without checking whether the capture or output queue was busy. For controls that enable CROP, COMPOSE, or SCALE capabilities, this was not performed. If a user sets these controls between a buffer request (REQBUFS) and start of streaming (STREAMON), the functions may alter the format while the queue is active, leading to unexpected results such as driver crashes or inconsistent media capture. The vulnerability could thus allow a local or remote user with access to the device to trigger a denial‑of‑service or corrupt media data.

Affected Systems

All Linux kernel images that include the V4L2 Vivid media driver before the patch. No specific kernel version range is listed in the data, so any kernel that ships the unpatched code is potentially vulnerable.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting that it has not been widely observed in the wild. However, syzkaller reports indicate a possible race or corruption scenario, implying that an attacker could exploit interleaved control changes to induce a crash. The CVSS score is not provided, but given the potential for a DoS via media device misuse, the risk is moderate to high for affected systems.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that contains the fix for vivid_update_format_cap/out(), ensuring vb2_is_busy() checks and WARN_ON are present.
  • If immediate patching is not possible, disable or block the CROP, COMPOSE, and SCALE controls for the V4L2 Vivid device using udev rules or device tree properties so that no format changes can occur while the queue may be busy.
  • Monitor kernel logs for any WARNING indicating the queue was busy during a control update and consider applying a temporary kernel patch or limiting device access until a vendor patch is available.

Generated by OpenCVE AI on August 10, 2026 at 14:22 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-668
CWE-754

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: vivid: check for vb2_is_busy() when toggling caps The vivid_update_format_cap/out() functions must only be called if the capture/output queue are not busy. But for the controls that select the CROP/COMPOSE/SCALE capability that is not checked. Only when streaming starts will they be set to 'grabbed' and it is impossible to change the control, but between REQBUFS and STREAMON you are still allowed to set these controls. Since vivid_update_format_cap/out will change the format, this can cause unexpected results. Besides adding these checks, also add a WARN_ON in vivid_update_format_cap/out() if the queue is busy. I'm 90% certain that this is the cause of this syzbot bug: https://syzkaller.appspot.com/bug?extid=dac8f5eaa46837e97b89 But since we never have reproducers, it is hard to be certain. In any case, these checks are needed regardless.
Title media: vivid: check for vb2_is_busy() when toggling caps
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:23.311Z

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

Link: CVE-2026-68204

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-668

    Exposure of Resource to Wrong Sphere

  • CWE-754

    Improper Check for Unusual or Exceptional Conditions