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 <[email protected]> --- .../freerdp/freerdp/CVE-2023-40569.patch | 38 +++++++++++++++++++ .../recipes-support/freerdp/freerdp_2.6.1.bb | 1 + 2 files changed, 39 insertions(+) create mode 100644 meta-oe/recipes-support/freerdp/freerdp/CVE-2023-40569.patch diff --git a/meta-oe/recipes-support/freerdp/freerdp/CVE-2023-40569.patch b/meta-oe/recipes-support/freerdp/freerdp/CVE-2023-40569.patch new file mode 100644 index 0000000000..792c652307 --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/CVE-2023-40569.patch @@ -0,0 +1,38 @@ +From acc25a2257a960c82adea14faf48730c9139811d Mon Sep 17 00:00:00 2001 +From: akallabeth <[email protected]> +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 <[email protected]> +--- + 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)) diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.6.1.bb b/meta-oe/recipes-support/freerdp/freerdp_2.6.1.bb index b909f88310..205f7b0cd7 100644 --- a/meta-oe/recipes-support/freerdp/freerdp_2.6.1.bb +++ b/meta-oe/recipes-support/freerdp/freerdp_2.6.1.bb @@ -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"
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#123688): https://lists.openembedded.org/g/openembedded-devel/message/123688 Mute This Topic: https://lists.openembedded.org/mt/117378241/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
