CVE-2026-89742
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < 00c5ed913b0dc563fbeb8a97ea8916c03bbbbf6a | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < fc79c07cdcde02c5b17633d78777de6ac2c14b29 | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < 26ccfe7d69e27b0d933ae0a64a23a0cb9b9a85a6 | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < bd8881c24a9520f9c3d3e855d866197f63e471a7 | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < 9a9929ec875ff20922c90c96fd544ae8a2a61a8d | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < e6e925cc1f8067c65c7bec3da50a0ead3b3ef4e0 | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < 211c68d817a3d9dc14c0026a59da7cac30f8147e | affected |
| Linux | Linux | e8de370188d098bb49483c287b44925957c3c9b6 < 5cbef379a94b161726c5f504598bf4791d45cedc | affected |
| Linux | Linux | 4.6 | affected |
| Linux | Linux | 0 < 4.6 | unaffected |
| Linux | Linux | 5.10.270 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.221 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.188 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.109 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.50 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.4 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/00c5ed913b0dc563fbeb8a97ea8916c03bbbbf6a
- https://git.kernel.org/stable/c/fc79c07cdcde02c5b17633d78777de6ac2c14b29
- https://git.kernel.org/stable/c/26ccfe7d69e27b0d933ae0a64a23a0cb9b9a85a6
- https://git.kernel.org/stable/c/bd8881c24a9520f9c3d3e855d866197f63e471a7
- https://git.kernel.org/stable/c/9a9929ec875ff20922c90c96fd544ae8a2a61a8d
- https://git.kernel.org/stable/c/e6e925cc1f8067c65c7bec3da50a0ead3b3ef4e0
- https://git.kernel.org/stable/c/211c68d817a3d9dc14c0026a59da7cac30f8147e
- https://git.kernel.org/stable/c/5cbef379a94b161726c5f504598bf4791d45cedc
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.