CVE-2026-43455: mctp: route: hold key->lock in mctp_flow_prepare_output()
In the Linux kernel, the following vulnerability has been resolved:
mctp: route: hold key->lock in mctpflowprepareoutput()
mctpflowprepareoutput() checks key->dev and may call mctpdevsetkey(), but it does not hold key->lock while doing so.
mctpdevsetkey() and mctpdevreleasekey() are annotated with musthold(&key->lock), so key->dev access is intended to be serialized by key->lock. The mctpsendmsg() transmit path reaches mctpflowprepareoutput() via mctplocaloutput() -> mctpdstoutput() without holding key->lock, so the check-and-set sequence is racy.
Example interleaving:
CPU0 CPU1 ---- ---- mctpflowprepareoutput(key, devA) if (!key->dev) // sees NULL mctpflowprepareoutput( key, devB) if (!key->dev) // still NULL mctpdevsetkey(devB, key) mctpdevhold(devB) key->dev = devB mctpdevsetkey(devA, key) mctpdevhold(devA) key->dev = devA // overwrites devB
Now both devA and devB references were acquired, but only the final key->dev value is tracked for release. One reference can be lost, causing a resource leak as mctpdevreleasekey() would only decrease the reference on one dev.
Fix by taking key->lock around the key->dev check and mctpdevsetkey() call.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43455?
CVE-2026-43455 is classified as a medium severity vulnerability in the Linux kernel related to improper locking in the mctp_flow_prepare_output() function.
How do I fix CVE-2026-43455?
To fix CVE-2026-43455, update to the latest version of the Linux kernel where this vulnerability is resolved.
What systems are affected by CVE-2026-43455?
CVE-2026-43455 affects the Linux kernel implementations that utilize the MCTP (Management Component Transport Protocol) functionality.
What are the potential consequences of CVE-2026-43455?
Exploitation of CVE-2026-43455 may lead to data corruption or system crashes due to improper handling of device keys.
Is CVE-2026-43455 being actively exploited?
As of now, there are no reports indicating that CVE-2026-43455 is being actively exploited in the wild.