CVE-2026-68217: Linux kernel · media: pwc: Drain fill_buf on start_streaming() failure
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in eabe9a59640698137d7382d5b549e95dc37f7565 : update Linux kernel when convenient.
Data as of 6 Nov 2026, 17:19 UTC
Rated by Threat Radar · No CVSS score from NVD or the CNA
Thin evidence
One scorer or none- CISA SSVC
- Exploitation
- No evidence of active exploitation and no public proof of concept
- Automatable
- Attackers cannot reliably automate steps 1–4 of the kill chain
- Technical impact
- Limited control over the software or limited information exposure
CISA SSVC assessment, 2026-11-06.
- Patch
- Available – fixed in eabe9a59640698137d7382d5b549e95dc37f7565, acc789b2173070638cad89c2b61d33ed338be0dd, a56e7641e09bd80b976e944ae759109b86fd5b38 +5
Exploitation evidence
Disclosed: evidence found.
CVE published 10 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
Description
In the Linux kernel, the following vulnerability has been resolved: media: pwc: Drain fill_buf on start_streaming() failure pwc_isoc_init() submits its isochronous URBs with usb_submit_urb(.., GFP_KERNEL) in a loop. After the first URB is submitted, its completion handler pwc_isoc_handler() can run on another CPU before the loop finishes: start_streaming() pwc_isoc_init() usb_submit_urb(urbs[0], GFP_KERNEL) pwc_isoc_handler(urbs[0]) pdev->fill_buf = pwc_get_next_fill_buf(pdev) usb_submit_urb(urbs[i>0], ..) -> fails pwc_isoc_cleanup(pdev) /* kills URBs */ return ret; pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED) pwc_get_next_fill_buf() detaches a buffer from pdev->queued_bufs and stores it in pdev->fill_buf. The error path in start_streaming() only drains pdev->queued_bufs, so the buffer parked in pdev->fill_buf is leaked. vb2_start_streaming() then triggers WARN_ON(owned_by_drv_count). stop_streaming() already handles this since commit 80b0963e1698 ("[media] pwc: fix WARN_ON"), which added the fill_buf drain in the teardown path but not in the start_streaming() error path. Mirror that handling on failure so start_streaming() returns with no buffer owned by the driver. Issue identified by automated review of the INV-003 series at https://sashiko.dev/
References
- git.kernel.org/stable/c/97f3c15957ec7e6d249f05407ad947c0644df24d (opens in a new tab)
- git.kernel.org/stable/c/a4afffd148991a826e8995362fb10cf8705c1130 (opens in a new tab)
- git.kernel.org/stable/c/eabe9a59640698137d7382d5b549e95dc37f7565 (opens in a new tab)
- git.kernel.org/stable/c/a56e7641e09bd80b976e944ae759109b86fd5b38 (opens in a new tab)
- git.kernel.org/stable/c/acc789b2173070638cad89c2b61d33ed338be0dd (opens in a new tab)
- git.kernel.org/stable/c/9afd605dcd96c7a45f338eded1de16679b30e1df (opens in a new tab)
- git.kernel.org/stable/c/5d4812668b03f823b5044789d6aa77fe56b42587 (opens in a new tab)
- git.kernel.org/stable/c/906e410dcffbbd99fb4081abab817a830033aa28 (opens in a new tab)