Cloudanix VulnDB

CVE-2026-68228

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Aug 10, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A timing flaw in video encoding software could let a logged-in user corrupt kernel memory and potentially take over the machine.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Full Compromise
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Race condition in wave5 encoder buffer handling allows a v4l2 buffer to be marked DONE and returned to userspace while still present in the m2m ready queue; subsequent queueing of the same buffer creates a self-referential list entry via WRITE_ONCE in __list_add, so that __list_del later poisons pointers without restoring the list head.

Why it matters to the business

Local users can trigger kernel memory corruption leading to denial of service or privilege escalation on systems using the wave5 video codec driver, potentially affecting media-processing workloads and embedded Linux devices.

How an attack unfolds

An attacker with local access crafts a sequence of V4L2 buffer queue and encode operations that races the IRQ completion path against start_encode, causing the buffer to re-enter the ready queue before removal; when finish_encode eventually calls __list_del the list is already looped, resulting in corrupted list state that can be leveraged for further memory manipulation.

How to fix it

Update to a kernel containing the fix that moves src_buf removal entirely into finish_encode before any v4l2_m2m_buf_done call; rebuild and deploy the media subsystem modules or full kernel image as appropriate for the distribution.

How to confirm the fix worked

Confirm the patch is present by inspecting the wave5 driver source for the moved list removal logic in finish_encode; run V4L2 encoder stress tests that previously triggered the race to verify absence of list corruption; monitor kernel logs for related warnings during buffer processing.

Typical attack path

  1. Obtain local shell on affected system
  2. Open V4L2 encoder device and allocate buffers
  3. Rapidly queue the same buffer while encode IRQ fires
  4. Trigger the window where v4l2_m2m_buf_done returns buffer before removal from ready queue
  5. Force list corruption via subsequent __list_del on poisoned entry
  6. Exploit resulting memory state for escalation or crash

How to detect it

Review kernel logs for list corruption warnings or oopses involving __list_del and wave5; inspect V4L2 application traces for repeated buffer reuse patterns that coincide with IRQ completion; correlate with process activity on video encoder devices.

What your security team should do

  • Prioritize kernel update on any system exposing the wave5 encoder to untrusted local users
  • Restrict access to /dev/video* nodes via device ACLs until patched
  • Monitor for unusual V4L2 buffer handling errors in dmesg after deployment
  • Rebuild custom kernels with the corrected wave5.c if using out-of-tree media drivers

The record

In the Linux kernel, the following vulnerability has been resolved: media: chips-media: wave5: Move src_buf Removal to finish_encode During encoder processing, there is a case where the IRQ response could return the buffer back to userspace via v4l2_m2m_buf_done call. In this time, userspace could queue up this same buffer before start_encode removes the index from the ready queue. This would then lead to a case where the buffer in the ready queue could be a self loop due to the WRITE_ONCE(prev->next, new) call in __list_add. When __list_del is finally called, the loop is already made so nothing points back to ready queue list head and pointers are poisoned. A buffer should not be marked as DONE before the buffer is removed from m2m ready queue. Move removal entirely to finish_encode.

Affected packages

Ecosystem Package Introduced Fixed