First published: Thu Aug 31 2023(Updated: )
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. In affected versions a missing offset validation may lead to an Out Of Bound Read in the function `gdi_multi_opaque_rect`. In particular there is no code to validate if the value `multi_opaque_rect->numRectangles` is less than 45. Looping through `multi_opaque_rect->`numRectangles without proper boundary checks can lead to Out-of-Bounds Read errors which will likely lead to a crash. This issue has been addressed in versions 2.11.0 and 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Credit: security-advisories@github.com security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
FreeRDP FreeRDP | <2.11.0 | |
FreeRDP FreeRDP | =3.0.0-beta1 | |
FreeRDP FreeRDP | =3.0.0-beta2 | |
Debian Debian Linux | =10.0 | |
Fedoraproject Fedora | =37 | |
Fedoraproject Fedora | =38 | |
Fedoraproject Fedora | =39 | |
debian/freerdp2 | <=2.0.0~git20190204.1.2693389a+dfsg1-1+deb10u2<=2.3.0+dfsg1-2+deb11u1<=2.10.0+dfsg1-1 | 2.3.0+dfsg1-2+deb10u4 2.11.2+dfsg1-1 2.11.5+dfsg1-1 |
ubuntu/freerdp2 | <2.2.0+dfsg1-0ubuntu0.18.04.4+ | 2.2.0+dfsg1-0ubuntu0.18.04.4+ |
ubuntu/freerdp2 | <2.2.0+dfsg1-0ubuntu0.20.04.6 | 2.2.0+dfsg1-0ubuntu0.20.04.6 |
ubuntu/freerdp2 | <2.6.1+dfsg1-3ubuntu2.5 | 2.6.1+dfsg1-3ubuntu2.5 |
ubuntu/freerdp2 | <2.10.0+dfsg1-1ubuntu0.3 | 2.10.0+dfsg1-1ubuntu0.3 |
ubuntu/freerdp2 | <2.10.0+dfsg1-1.1ubuntu1.1 | 2.10.0+dfsg1-1.1ubuntu1.1 |
ubuntu/freerdp2 | <2.11.0<3.0.0- | 2.11.0 3.0.0- |
redhat/freerdp | <2.11.0 | 2.11.0 |
redhat/freerdp | <3.0.0 | 3.0.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2023-39356 is a vulnerability in FreeRDP that allows an Out Of Bound Read in the function `gdi_multi_opaque_rect` due to missing offset validation.
The severity of CVE-2023-39356 is critical with a severity value of 9.1.
CVE-2023-39356 affects FreeRDP versions up to and excluding 2.11.0, as well as version 3.0.0-beta1 and version 3.0.0-beta2.
To fix CVE-2023-39356, users should update to a version of FreeRDP that is not affected by the vulnerability.
More information about CVE-2023-39356 can be found in the references provided: [GitHub - primary.h](https://github.com/FreeRDP/FreeRDP/blob/63a2f65618748c12f79ff7450d46c6e194f2db76/include/freerdp/primary.h#L186-L196), [GitHub - orders.c](https://github.com/FreeRDP/FreeRDP/blob/63a2f65618748c12f79ff7450d46c6e194f2db76/libfreerdp/core/orders.c#L1503-L1504), [GitHub - gdi.c](https://github.com/FreeRDP/FreeRDP/blob/63a2f65618748c12f79ff7450d46c6e194f2db76/libfreerdp/gdi/gdi.c#L723C1-L758).