HIGH Introduced in 3.2
rapidio Doorbell Deref
CVE-2026-80645
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
KernelScan AI6.8MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: rapidio/tsi721: prevent a bad dereference in tsi721_db_dpc() With a list_for_each() loop, if we don't find the item we are looking for in the list, then the loop exits with the iterator, which is "dbell" in this loop, pointing to invalid memory. This code uses the "found" variable to determine if we have found the doorbell we are looking for or not. However, the problem that the "found" variable needs to be set to false at the start of each iteration, otherwise after the first correct doorbell, then everything is marked as found. Reset the "found" to false at the start of the iteration and move the variable inside the loop.
02KernelScan AI Analysis
Risk summary
A logic error in the Tsi721 RapidIO bridge driver causes it to dereference an invalid pointer when processing doorbell messages, potentially corrupting kernel memory or crashing the system. An attacker needs physical access to the RapidIO fabric and the TSI721 hardware must be present. Systems in sealed enclosures without exposed RapidIO ports are not at risk.
Vulnerability analysis
The Tsi721 RapidIO bridge driver processes incoming doorbell messages by searching a list of registered doorbell handlers. A flag tracking whether a matching handler was found is not reset between iterations, so after the first successful match every subsequent doorbell is incorrectly treated as found. When no matching handler exists, the list iterator ends up pointing to the list head rather than a valid handler object, and the code dereferences it as if it were valid, causing type confusion and potential kernel memory corruption. The fix resets the found flag to false at the start of each loop iteration so only genuine matches are processed. This vulnerability is reachable only from the RapidIO fabric — an attacker must have physical access to the RapidIO interconnect to send doorbell messages, and the target system must have TSI721 bridge hardware present and the driver loaded.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.1 | 3.2 | 6.1.178 | 13092966ba5d |
| 6.12 | 3.2 | 6.12.97 | 3b5c66e922aa |
| 6.18 | 3.2 | 6.18.40 | 070f356ea4f4 |
| 5.10 | 3.2 | 5.10.261 | 9e775c319990 |
| 6.6 | 3.2 | 6.6.145 | acd54f42abbb |
| mainline | 3.2 | 7.2 | fc15e3a30ddd |
| 5.15 | 3.2 | 5.15.212 | 81c06ef66c3a |
| 7.1 | 3.2 | 7.1.5 | dc28a14f3e45 |
| cip/4.19 | 3.2 | 4.19.325-cip136 | ca342c7d1b24 |
| cip/4.19-rt | 3.2 | 4.19.325-cip136-rt50 | ca342c7d1b24 |
| cip/4.4 | 3.2 | 4.4.302-cip115 | 928954e3ec8e |
| cip/4.4-rt | 3.2 | 4.4.302-cip115-rt63 | 928954e3ec8e |
| cip/5.10 | 3.2 | 5.10.263-cip76 | 9e775c319990 |
| cip/5.10-rt | 3.2 | 5.10.268-cip77-rt34 | 9e775c319990 |
| cip/6.1 | 3.2 | 6.1.182-cip59 | 13092966ba5d |
| cip/6.1-rt | 3.2 | 6.1.182-cip59-rt31 | 13092966ba5d |
| cip/6.12 | 3.2 | 6.12.101-cip29 | 3b5c66e922aa |