diff mbox series

[meta-networking,wrynose] openvpn: fix CVE-2026-13117

Message ID 20260814090101.3595381-1-OmkarAbaji.Patil@windriver.com
State New
Headers show
Series [meta-networking,wrynose] openvpn: fix CVE-2026-13117 | expand

Commit Message

Omkar Patil Aug. 14, 2026, 9:01 a.m. UTC
An Incomplete guard in OpenVPN allows remote authenticated
peers to trigger a use-after-free during TLS session promotion,
potentially leading to a denial of service or memory leakage

Reference:
[https://nvd.nist.gov/vuln/detail/CVE-2026-13117]
[https://security-tracker.debian.org/tracker/CVE-2026-13117]

Upstream patch:
[https://github.com/OpenVPN/openvpn/commit/3ce0242e68527fd1e8d378aecb57c466e8058b44]

Signed-off-by: Omkar Patil <OmkarAbaji.Patil@windriver.com>
---
 .../openvpn/openvpn/CVE-2026-13117.patch      | 46 +++++++++++++++++++
 .../recipes-support/openvpn/openvpn_2.7.0.bb  |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 meta-networking/recipes-support/openvpn/openvpn/CVE-2026-13117.patch
diff mbox series

Patch

diff --git a/meta-networking/recipes-support/openvpn/openvpn/CVE-2026-13117.patch b/meta-networking/recipes-support/openvpn/openvpn/CVE-2026-13117.patch
new file mode 100644
index 0000000000..ea2e32bdcb
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn/CVE-2026-13117.patch
@@ -0,0 +1,46 @@ 
+From 3ce0242e68527fd1e8d378aecb57c466e8058b44 Mon Sep 17 00:00:00 2001
+From: Max Fillinger <maximilian.fillinger@sentyron.com>
+Date: Fri, 22 May 2026 14:34:57 +0200
+Subject: [PATCH] Fix tls_wrap_reneg use after free
+
+When dynamic tls-crypt is active, it is possible for tls_multi_process
+to set to_link to session->tls_wrap_reneg.work and later free that
+session, leaving to_link.data pointing to freed memory.
+
+This is not caught by the function check_session_buf_not_used because it
+checks only tls_wrap, not tls_wrap_reneg. This commit adds that check.
+
+CVE: 2026-13117
+Github: OpenVPN/openvpn-private-issues#119
+Github: OpenVPN/openvpn-private-issues#125
+Reported-By: Trace37 Labs (https://github.com/trace37labs)
+Github: OpenVPN/openvpn-private-issues#131
+Reported-By: Haiyang Huang <huanghaiyang83@gmail.com>
+Signed-off-by: Max Fillinger <maximilian.fillinger@sentyron.com>
+Acked-By: Arne Schwabe <arne@rfc2549.org>
+(cherry picked from commit 2745768d6181c1d54ebfc5ef81f924a127f4f015)
+
+CVE: CVE-2026-13117
+Upstream-Status: Backport [https://github.com/OpenVPN/openvpn/commit/3ce0242e68527fd1e8d378aecb57c466e8058b44]
+Signed-off-by: Omkar Patil <OmkarAbaji.Patil@windriver.com>
+---
+ src/openvpn/ssl.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
+index c0ab6d3dfbe..d7e93bd41ab 100644
+--- a/src/openvpn/ssl.c
++++ b/src/openvpn/ssl.c
+@@ -3154,6 +3154,12 @@ check_session_buf_not_used(struct buffer *to_link, struct tls_session *session)
+                     "still in use (tls_wrap.work.data)");
+         goto used;
+     }
++    if (session->tls_wrap_reneg.work.data == dataptr)
++    {
++        msg(M_INFO, "Warning buffer of freed TLS session is "
++                    "still in use (tls_wrap_reneg.work.data)");
++        goto used;
++    }
+ 
+     for (int i = 0; i < KS_SIZE; i++)
+     {
diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb b/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb
index 4e466598dc..4d7258bfe8 100644
--- a/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb
+++ b/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb
@@ -13,6 +13,7 @@  SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
            file://openvpn \
            file://run-ptest \
            file://CVE-2026-40215.patch \
+           file://CVE-2026-13117.patch \
           "
 
 UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"