CVE-2026-89881 — media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak
In the Linux kernel, the following vulnerability has been resolved: media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak rtl2832_sdr_remove() runs on USB disconnect and clears dev->udev to NULL before any pending streaming teardown has run. When user space later closes its file descriptor, vb2 calls rtl2832_sdr_stop_streaming() which in turn calls rtl2832_sdr_free_stream_bufs(). That helper releases each coherent buffer with: usb_free_coherent(dev->udev, dev->buf_size, dev->buf_list[dev->buf_num], dev->dma_addr[dev->buf_num]); usb_free_coherent() returns immediately when its dev argument is NULL, so every DMA stream buffer that was live at disconnect is silently leaked. The URBs allocated in rtl2832_sdr_alloc_urbs() outlive the device for the same reason. The rtl2832_sdr driver uses vb2_fop_release() in its file_operations, so replace video_unregister_device(&dev->vdev) with vb2_video_unregister_device(&dev->vdev) and move it before clearing dev->udev. vb2_video_unregister_device() releases the vb2 queue, which synchronously runs rtl2832_sdr_stop_streaming() if streaming is active, so URBs and coherent DMA stream buffers are freed while dev->udev is still valid. vb2_video_unregister_device() locks vdev->queue->lock (vb_queue_lock) internally, and stop_streaming() locks v4l2_lock, so the previous outer mutex_lock(&dev->vb_queue_lock) / mutex_lock(&dev->v4l2_lock) pair around the unregister sequence would self-deadlock and has been removed. A short v4l2_lock critical section around dev->udev = NULL remains so any ioctl path that still holds the file descriptor sees coherent state. Issue identified by automated review of the INV-003 series at https://sashiko.dev/
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.2% (30-day exploitation probability)+2
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Linux Linux).
- No fix documented in the sources: reduce exposure and monitor the vendor advisory.
- Search available logs for exploit probes, errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
| Vendor | Product | Versions | Status | Source |
|---|---|---|---|---|
| Linux | Linux |
≥ 771138920eafa399f68d3492c8a75dfeea23474b and < 234c46b95a032232e31fa5987b84fb8f87a9693b≥ 771138920eafa399f68d3492c8a75dfeea23474b and < 034b6a4f9589c04bc3f2bd5125658cd72d3e17c8≥ 771138920eafa399f68d3492c8a75dfeea23474b and < 0ef9f19010ae4ba93aca211ea8f0081b9bf7aab2≥ 771138920eafa399f68d3492c8a75dfeea23474b and < 053581d4657c6b5289c5de71a4828d313c005189≥ 771138920eafa399f68d3492c8a75dfeea23474b and < bbf15e83c37d9ac938b7c35c02b748fe54230010≥ 771138920eafa399f68d3492c8a75dfeea23474b and < 7443b16b6dd8889a3b9c5236a09e7c58f0d11dae≥ 771138920eafa399f68d3492c8a75dfeea23474b and < a0d9d9a3b41a1346c26af57aade6ba3f552fa171≥ 771138920eafa399f68d3492c8a75dfeea23474b and < dabb047c62668f280998e29117c55e41aabac336 and 1 moreversion 3.15 |
Vulnerable | CVE Program (cve.org) e CISA ADP |
EPSS over time FIRST
Oct 15, 2026 → Oct 20, 2026 · 5 reading(s) · max 0.21%
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Not enough vector or weakness data: use the affected application’s logs as a starting point.
Timeline
What happened to this CVE, newest first.
- 2026
- Record published
- Affected products added · linux/linux
- Source status changed · → Received
- Record created in this database
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 1× References added · Oct 19, 2026 – Oct 19, 2026
- 1× Official description updated · Oct 15, 2026 – Oct 15, 2026
References
10 on the record
- git.kernel.org/stable/c/034b6a4f9589c04bc3f2bd5125658cd72d3e17c8
- git.kernel.org/stable/c/dabb047c62668f280998e29117c55e41aabac336
- git.kernel.org/stable/c/bbf15e83c37d9ac938b7c35c02b748fe54230010
- git.kernel.org/stable/c/0ef9f19010ae4ba93aca211ea8f0081b9bf7aab2
- git.kernel.org/stable/c/053581d4657c6b5289c5de71a4828d313c005189
- git.kernel.org/stable/c/234c46b95a032232e31fa5987b84fb8f87a9693b
- git.kernel.org/stable/c/a0d9d9a3b41a1346c26af57aade6ba3f552fa171
- github.com/advisories/GHSA-64c5-3gxh-7523
- git.kernel.org/stable/c/7443b16b6dd8889a3b9c5236a09e7c58f0d11dae
- nvd.nist.gov/vuln/detail/CVE-2026-89881
Elsewhere on this site
Related CVEs (same products)
- Unknown CVE-2026-98866 sched/cache: Introduce task_struct->sched_cache_grp to fix UAF 2d
- Unknown CVE-2026-98867 dm-pcache: bound the logical key offset from persistent memory 2d
- Unknown CVE-2026-98868 dm-pcache: reject a kset that overruns its segment 2d
- Unknown CVE-2026-98856 kprobes: Skip disarmed probes when checking optkprobe overlap 2d
- Unknown CVE-2026-98857 ipvs: bound LBLCR and LBLC cache growth 2d
- Unknown CVE-2026-98858 io_uring: fix task_work add use-after-free with SQPOLL 2d
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No CVSS score published by NVD, the CNA, CISA or GitHub so far.
- No fixed version, patch or mitigation documented.
- No CISA SSVC assessment.
- No CWE classification.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2026-89881 is "media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak", rated Unknown. It affects Linux (Linux); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. EPSS 0.21% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.