diff mbox series

[meta-oe,scarthgap,3/22] freerdp3: fix CVE-2026-33952

Message ID 20260409070919.3968586-3-ankur.tyagi85@gmail.com
State New
Headers show
Series [meta-oe,scarthgap,1/22] abseil-cpp: ignore CVE-2025-0838 | expand

Commit Message

Ankur Tyagi April 9, 2026, 7:09 a.m. UTC
From: Ankur Tyagi <ankur.tyagi85@gmail.com>

Details: https://nvd.nist.gov/vuln/detail/CVE-2026-33952

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
 .../freerdp/freerdp3/CVE-2026-33952.patch     | 38 +++++++++++++++++++
 .../recipes-support/freerdp/freerdp3_3.4.0.bb |  1 +
 2 files changed, 39 insertions(+)
 create mode 100644 meta-oe/recipes-support/freerdp/freerdp3/CVE-2026-33952.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/freerdp/freerdp3/CVE-2026-33952.patch b/meta-oe/recipes-support/freerdp/freerdp3/CVE-2026-33952.patch
new file mode 100644
index 0000000000..925843f6b5
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp3/CVE-2026-33952.patch
@@ -0,0 +1,38 @@ 
+From 30e05bdaf4096decf4ce0b1c448cd03c6786323b Mon Sep 17 00:00:00 2001
+From: Armin Novak <armin.novak@thincast.com>
+Date: Wed, 25 Mar 2026 09:04:43 +0100
+Subject: [PATCH] [core,gateway] Check rpcconn_common_hdr_t::auth_length is
+ valid
+
+Do sanity checks for rpcconn_common_hdr_t::auth_length read from
+network, abort if the value is out of range.
+
+(cherry picked from commit 4ac0b6467d371a1ad47c1f751c5b305e4c068adb)
+
+CVE: CVE-2026-33952
+Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/4ac0b6467d371a1ad47c1f751c5b305e4c068adb]
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ libfreerdp/core/gateway/rts.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/libfreerdp/core/gateway/rts.c b/libfreerdp/core/gateway/rts.c
+index 2ba757815..9702582da 100644
+--- a/libfreerdp/core/gateway/rts.c
++++ b/libfreerdp/core/gateway/rts.c
+@@ -253,6 +253,15 @@ BOOL rts_read_common_pdu_header(wStream* s, rpcconn_common_hdr_t* header, BOOL i
+ 			          header->frag_length, sizeof(rpcconn_common_hdr_t));
+ 		return FALSE;
+ 	}
++	if (header->auth_length > header->frag_length - 8ull)
++	{
++		if (!ignoreErrors)
++			WLog_WARN(TAG,
++			          "Invalid header->auth_length(%" PRIu16 ") > header->frag_length(%" PRIu16
++			          ") - 8ull",
++			          header->frag_length, header->auth_length);
++		return FALSE;
++	}
+ 
+ 	if (!ignoreErrors)
+ 	{
diff --git a/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb b/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb
index f9e6f64e2f..18795551ec 100644
--- a/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb
+++ b/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb
@@ -21,6 +21,7 @@  SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https \
            file://CVE-2024-32662.patch \
            file://CVE-2025-4478.patch \
            file://CVE-2026-25941.patch \
+           file://CVE-2026-33952.patch \
            "
 
 S = "${WORKDIR}/git"