CVE-2026-68122: ovpn: fix peer refcount leak in TCP error paths
In the Linux kernel, the following vulnerability has been resolved:
ovpn: fix peer refcount leak in TCP error paths
When either the TCP RX or TX error path calls ovpnpeerhold() followed by schedulework(&peer->tcp.deferdelwork), and the work item is already pending from the other path, schedulework() returns false and the work runs only once. Since ovpntcppeerdelwork() calls ovpnpeerput() exactly once, the extra reference taken by the losing path is never dropped, leaking the peer object.
The race window:
CPU0 (strparser/RX error): CPU1 (tcptxwork/TX error): ovpnpeerhold() <- refcnt+1 ovpnpeerhold() <- refcnt+2 schedulework() <- queued schedulework() <- NO-OP (work already pending) ovpntcppeerdelwork runs: ovpnpeerdel() ovpnpeerput() <- refcnt+1 <- peer never freed
Fix by checking the return value of schedulework() in both paths and calling ovpnpeerput() to drop the extra reference if the work was already pending. ovpnpeerhold() is kept unconditional in the TX path as it cannot fail at that point.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68122?
CVE-2026-68122 has a risk rating of 12, indicating a critical level of severity.
How do I fix CVE-2026-68122?
To address CVE-2026-68122, apply the latest patches provided by your Linux distribution that include the fix for the peer refcount leak.
What systems are affected by CVE-2026-68122?
CVE-2026-68122 affects the Linux kernel versions that utilize the OpenVPN peer management functions.
What are the potential impacts of CVE-2026-68122?
The vulnerability can lead to a denial of service due to the peer reference count leak, potentially exhausting system resources.
Is there a known exploit for CVE-2026-68122?
As of now, there are no public exploits known for CVE-2026-68122, but the vulnerability's critical nature warrants immediate attention.