CVE-2026-89742
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Sep 11, 2026
CISA due date
—
Cloudanix analysis
A bug in Linux kernel code that talks to certain specialized hardware lets a logged-in user crash the machine or gain complete control.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in dma_req_free() where buf_mutex is acquired via req->map, kref_put() frees the mapping on last reference, and mutex_unlock() then dereferences the freed object.
Why it matters to the business
Local attackers on systems exposing the RapidIO mport character device can crash the kernel or achieve privilege escalation, resulting in full host compromise and service disruption.
How an attack unfolds
An attacker with access to the RapidIO mport character device performs DMA request operations that cause kref_put() to release the final reference; the subsequent mutex unlock dereferences the now-freed mapping object.
How to fix it
Apply the upstream kernel fix that caches map and md before kref_put(), clears req->map while holding buf_mutex, and uses the cached md for unlocking; rebuild and deploy the patched kernel.
How to confirm the fix worked
Inspect the dma_req_free() implementation for the cached-map and clear-before-unlock logic; confirm the vulnerable code path is no longer reachable via the mport character device.
Typical attack path
- Open the RapidIO mport character device from userspace
- Issue DMA request operations that acquire buf_mutex via req->map
- Trigger kref_put() to drop the last reference and free the mapping
- Execute the subsequent mutex_unlock on the freed object
How to detect it
Search kernel logs and audit trails for accesses to RapidIO mport character devices followed by oops, panic, or warning messages referencing dma_req_free or mport_release_mapping.
- /dev/rio_mport
- mport_cdev
- dma_req_free
- mport_release_mapping
What your security team should do
- Prioritize kernel upgrade on all hosts exposing RapidIO hardware
- Disable the RapidIO mport character device interface when not required
- Restrict device node permissions to the minimum necessary users
- Monitor kernel logs for rapidio-related oops or use-after-free warnings
The record
In the Linux kernel, the following vulnerability has been resolved: rapidio: mport_cdev: fix use-after-free in dma_req_free() dma_req_free() acquires buf_mutex through req->map, drops the mapping reference with kref_put(), and then dereferences req->map again to unlock the mutex. If kref_put() drops the last reference, mport_release_mapping() frees the mapping, and the subsequent mutex_unlock() dereferences a freed object. This is a use-after-free. Fix this by caching map and md before kref_put(), clearing req->map while holding buf_mutex, and using the cached md for mutex unlocking. The bug is reachable from userspace via the RapidIO mport character device interface.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|