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: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel V4L2 Vivid media driver, the functions that update format capabilities (vivid_update_format_cap/out) were called without first verifying that the capture or output queue was idle. If a user sets controls such as CROP, COMPOSE, or SCALE between requesting buffers (REQBUFS) and starting the stream (STREAMON), the driver may alter the format while the queue is busy, corrupting driver state or causing a crash. This instability can abruptly stop media capture or crash applications that depend on the device, resulting in a denial of service.

Affected Systems

Any Linux kernel image that ships the unpatched V4L2 Vivid driver is potentially affected. The flaw is present in all kernels lacking the vb2_is_busy() guard and the added WARN_ON. No specific version range is listed, so any kernel containing the vulnerable code path is susceptible. Devices that expose the CROP, COMPOSE, or SCALE controls on a V4L2 Vivid interface may experience failures when those controls are modified while a queue is active.

Risk and Exploitability

The CVSS score of 7.8 designates a high severity level, while the EPSS score of < 1% indicates a very low but non‑zero exploitation probability. The vulnerability is not included in the CISA KEV catalog, suggesting that there are no known large‑scale attacks. The attack vector inferred from the description is local: an attacker must have the ability to modify video controls on the device between REQBUFS and STREAMON. Remote exploitation without local device access is not supported by the available information. Consequently, the risk remains significant for systems that rely on persistent or critical media capture.

Generated by OpenCVE AI on August 14, 2026 at 01:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that contains the fixed vb2_is_busy() check and WARN_ON in vivid_update_format_cap/out().
  • If upgrading is not immediately feasible, disable or limit the CROP, COMPOSE, and SCALE controls for the V4L2 Vivid device via udev rules or device tree, preventing format changes during active queues.
  • Monitor kernel logs for WARN_ON messages indicating a busy queue during a control update, and consider applying a temporary patch or blocking device use until a vendor patch is available.

Generated by OpenCVE AI on August 14, 2026 at 01:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 13 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Thu, 13 Aug 2026 07:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-668
CWE-754

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-414
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


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-19T16:31:23.943Z

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

Link: CVE-2026-68204

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:08.013

Modified: 2026-08-19T17:20:36.397

Link: CVE-2026-68204

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T12:00:23Z

Links: CVE-2026-68204 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T01:45:08Z

Weaknesses