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 ovpn_peer_hold() followed by schedule_work(&peer->tcp.defer_del_work), and the work item is already pending from the other path, schedule_work() returns false and the work runs only once. Since ovpn_tcp_peer_del_work() calls ovpn_peer_put() 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 (tcp_tx_work/TX error): ovpn_peer_hold() <- refcnt+1 ovpn_peer_hold() <- refcnt+2 schedule_work() <- queued schedule_work() <- NO-OP (work already pending) ovpn_tcp_peer_del_work runs: ovpn_peer_del() ovpn_peer_put() <- refcnt+1 <- peer never freed
Fix by checking the return value of schedule_work() in both paths and calling ovpn_peer_put() to drop the extra reference if the work was already pending. ovpn_peer_hold() is kept unconditional in the TX path as it cannot fail at that point.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Ubuntu | — | Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-gke-64kUpgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-38-realtimeUpgrade linux-image-generic-7.0Upgrade linux-image-oem-26.04aUpgrade linux-image-gkeUpgrade linux-image-gke-64k-7.0Upgrade linux-image-7.0.0-38-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-7.0.0-38-realtime-64kUpgrade linux-image-azureUpgrade linux-image-aws-7.0Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-aws-64kUpgrade linux-image-gke-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-gcp-64kUpgrade linux-image-7.0.0-1014-aws-64kUpgrade linux-image-7.0.0-1014-gcpUpgrade linux-image-realtime-64kUpgrade linux-image-7.0.0-1013-oracle-64kUpgrade linux-image-oem-7.0Upgrade linux-image-awsUpgrade linux-image-7.0.0-1008-gke-64kUpgrade linux-image-aws-64k-7.0Upgrade linux-image-azure-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-azure-fde-lts-26.04Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-realtimeUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-7.0.0-1013-oracleUpgrade linux-image-generic-64k-7.0Upgrade linux-image-ibm-7.0Upgrade linux-image-generic-64kUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-7.0.0-1015-ibmUpgrade linux-image-7.0.0-1014-gcp-64kUpgrade linux-image-7.0.0-1017-azureUpgrade linux-image-genericUpgrade linux-image-7.0.0-38-genericUpgrade linux-image-gcp-7.0Upgrade linux-image-ibmUpgrade linux-image-azure-fdeUpgrade linux-image-azure-lts-26.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-7.0.0-1016-azure-fdeUpgrade linux-image-7.0.0-1015-oemUpgrade linux-image-oracle-64kUpgrade linux-image-azure-fde-7.0Upgrade linux-image-7.0.0-1014-awsUpgrade linux-image-oem-26.04Upgrade linux-image-gcpUpgrade linux-image-oracle-7.0Upgrade linux-image-7.0.0-1008-gkeUpgrade linux-image-virtual-7.0Upgrade linux-image-virtual | Oct 7, 2026 | Oct 6, 2026 |
Prioritize with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub