mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-14 05:49:57 +00:00
freerdp: patch CVE-2023-40569
Details: https://nvd.nist.gov/vuln/detail/CVE-2023-40569 Pick the patch that was identified[1] by Debian as the solution. [1]: https://security-tracker.debian.org/tracker/CVE-2023-40569 Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
From acc25a2257a960c82adea14faf48730c9139811d Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
Date: Tue, 22 Aug 2023 15:05:20 +0200
|
||||
Subject: [PATCH] fix missing destination checks
|
||||
|
||||
(cherry picked from commit ef7e0d60c207dae478952d795e74751d1516629d)
|
||||
|
||||
CVE: CVE-2023-40569
|
||||
Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/23c3daeca1598393f8c93f563f7847a4d67919f1]
|
||||
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
|
||||
---
|
||||
libfreerdp/codec/progressive.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfreerdp/codec/progressive.c b/libfreerdp/codec/progressive.c
|
||||
index 60343b881..a30da6201 100644
|
||||
--- a/libfreerdp/codec/progressive.c
|
||||
+++ b/libfreerdp/codec/progressive.c
|
||||
@@ -2425,11 +2425,17 @@ INT32 progressive_decompress_ex(PROGRESSIVE_CONTEXT* progressive, const BYTE* pS
|
||||
for (j = 0; j < nbUpdateRects; j++)
|
||||
{
|
||||
const RECTANGLE_16* rect = &updateRects[j];
|
||||
- const UINT32 nXSrc = rect->left - (nXDst + tile->x);
|
||||
- const UINT32 nYSrc = rect->top - (nYDst + tile->y);
|
||||
+ if (rect->left < updateRect.left)
|
||||
+ goto fail;
|
||||
+ const UINT32 nXSrc = rect->left - updateRect.left;
|
||||
+ const UINT32 nYSrc = rect->top - updateRect.top;
|
||||
const UINT32 width = rect->right - rect->left;
|
||||
const UINT32 height = rect->bottom - rect->top;
|
||||
|
||||
+ if (rect->left + width > surface->width)
|
||||
+ goto fail;
|
||||
+ if (rect->top + height > surface->height)
|
||||
+ goto fail;
|
||||
if (!freerdp_image_copy(pDstData, DstFormat, nDstStep, rect->left, rect->top, width,
|
||||
height, tile->data, progressive->format, tile->stride, nXSrc,
|
||||
nYSrc, NULL, FREERDP_FLIP_NONE))
|
||||
@@ -26,6 +26,7 @@ SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https
|
||||
file://CVE-2023-39352.patch \
|
||||
file://CVE-2023-39353.patch \
|
||||
file://CVE-2023-40181.patch \
|
||||
file://CVE-2023-40569.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
Reference in New Issue
Block a user