From 21af1f7e139e60d062dd6832f41ed31d35ead1fc Mon Sep 17 00:00:00 2001 From: Ankur Tyagi Date: Thu, 9 Apr 2026 19:09:00 +1200 Subject: [PATCH] freerdp3: fix CVE-2026-33952 Details: https://nvd.nist.gov/vuln/detail/CVE-2026-33952 Signed-off-by: Ankur Tyagi Signed-off-by: Anuj Mittal --- .../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 --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 +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 +--- + 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"