Description
In the Linux kernel, the following vulnerability has been resolved:

ovpn: fix use after free in unlock_ovpn()

unlock_ovpn() iterates over the release_list using llist_for_each_entry()
and drops the peer reference inside the loop body via ovpn_peer_put().

If this drops the last reference, the peer is eventually freed. However,
llist_for_each_entry() reads peer->release_entry.next in the loop advance
expression, which runs after the body. By that time the peer may have
already been freed, resulting in a use after free when advancing to the
next list entry.

Fix this by using llist_for_each_entry_safe(), which caches the next
pointer before executing the loop body.
Published: 2026-08-10
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, unlock_ovpn() iterates over an OpenVPN peer release list and decrements a reference count within the loop. If the reference count reaches zero, the peer object may be freed while the iterator still attempts to read its next pointer. This results in a use‑after‑free condition in kernel space, allowing memory corruption of kernel objects during list traversal. The CVE description does not assert any further consequences such as privilege escalation or denial of service, only that the kernel memory is vulnerable.

Affected Systems

All Linux kernel releases that do not include the commits referenced in the advisory are affected. The provided CNA information indicates the vulnerability exists in the core Linux kernel; specific affected versions are not enumerated, so any system running a kernel without the fixes identified by the commit URLs is at risk.

Risk and Exploitability

The CVSS score is 8.8 and the EPSS score is < 1%, indicating a high risk with a low probability of exploitation at this time. The vulnerability is not listed in CISA’s KEV catalog, implying there are no publicly reported exploits. The likely attack vector requires local code execution that triggers unlock_ovpn(), which is inferred from the need to manipulate OpenVPN peer objects but is not explicitly stated in the CVE description.

Generated by OpenCVE AI on August 14, 2026 at 01:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that incorporates the security fixes referenced in the advisory commits (c/4cdb209f12a89c5faf9be0c45edb90ccdf65db0c, c/5b96227c0e8b212b74838424c929fc889aedb555, c/e1ad6fe5db719874efa45b2caf9934552e09fc43).
  • If a kernel upgrade is not immediately possible, backport the identified commits into the current kernel source tree to fix the use‑after‑free bug.
  • Disable or unload the OpenVPN kernel module or feature on systems where the module cannot be patched or is not required, reducing the risk surface.

Generated by OpenCVE AI on August 14, 2026 at 01:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 23:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H'}

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Thu, 13 Aug 2026 04:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H'}

threat_severity

Important


Mon, 10 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ovpn: fix use after free in unlock_ovpn() unlock_ovpn() iterates over the release_list using llist_for_each_entry() and drops the peer reference inside the loop body via ovpn_peer_put(). If this drops the last reference, the peer is eventually freed. However, llist_for_each_entry() reads peer->release_entry.next in the loop advance expression, which runs after the body. By that time the peer may have already been freed, resulting in a use after free when advancing to the next list entry. Fix this by using llist_for_each_entry_safe(), which caches the next pointer before executing the loop body.
Title ovpn: fix use after free in unlock_ovpn()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:03:41.213Z

Reserved: 2026-07-30T09:28:09.384Z

Link: CVE-2026-68341

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:24.613

Modified: 2026-08-17T06:17:42.307

Link: CVE-2026-68341

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-10T12:03:17Z

Links: CVE-2026-68341 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T01:30:04Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference