new file mode 100644
@@ -0,0 +1,37 @@
+From b0b560b3c89e46107092cc8d1abe61ae4c4e7c4d Mon Sep 17 00:00:00 2001
+From: Armin Novak <armin.novak@thincast.com>
+Date: Thu, 11 Jun 2026 08:31:09 +0200
+Subject: [PATCH] [core,gateway] rpc header max fragment size checks
+
+(cherry picked from commit a863ef1cf1cdabf9019280e5658f806e73bb50e8)
+
+CVE: CVE-2026-55193
+Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/a863ef1cf1cdabf9019280e5658f806e73bb50e8]
+
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ libfreerdp/core/gateway/rpc_bind.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/libfreerdp/core/gateway/rpc_bind.c b/libfreerdp/core/gateway/rpc_bind.c
+index cc670d14f..3a055eb50 100644
+--- a/libfreerdp/core/gateway/rpc_bind.c
++++ b/libfreerdp/core/gateway/rpc_bind.c
+@@ -342,6 +342,17 @@ BOOL rpc_recv_bind_ack_pdu(rdpRpc* rpc, wStream* s)
+ WLog_DBG(TAG, header.common.ptype == PTYPE_BIND_ACK ? "Receiving BindAck PDU"
+ : "Receiving AlterContextResp PDU");
+
++ const UINT16 MAX_VALID_FRAG = 0x0FF8;
++ if ((header.bind_ack.max_xmit_frag > MAX_VALID_FRAG) ||
++ (header.bind_ack.max_recv_frag > MAX_VALID_FRAG))
++ {
++ WLog_ERR(TAG,
++ "bind_ack: invalid fragment size: max_xmit_frag=%" PRIu16
++ ", max_recv_frag=%" PRIu16 ", maximum=%" PRIu16,
++ header.bind_ack.max_xmit_frag, header.bind_ack.max_recv_frag, MAX_VALID_FRAG);
++ goto fail;
++ }
++
+ rpc->max_recv_frag = header.bind_ack.max_xmit_frag;
+ rpc->max_xmit_frag = header.bind_ack.max_recv_frag;
+
@@ -15,6 +15,7 @@ SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;nobranch=1;protocol=https;tag=${
file://CVE-2026-40254-2.patch \
file://CVE-2026-55191.patch \
file://CVE-2026-55192.patch \
+ file://CVE-2026-55193.patch \
"