CVE-2023-40576
Out-Of-Bounds Read in FreeRDP
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
Out-Of-Bounds Read in FreeRDP
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
- Record
CVE-2023-40576- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2023-45144
5.3
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
- Record
EUVD-2023-45144- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-03
NVD
5.3
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
- Record
CVE-2023-40576- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
5.3
Out-Of-Bounds Read in FreeRDP
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
- Record
CVE-2023-40576- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-40576
7.5
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Affected versions are subject to an Out-Of-Bounds Read in the RleDecompress function. This Out-Of-Bounds Read occurs because FreeRDP processes the pbSrcBuffer variable without checking if it contains data of sufficient length. Insufficient data in the pbSrcBuffer variable may cause errors or crashes. This issue has been addressed in version 3.0.0-beta3. Users are advised to upgrade. There are no known workarounds for this issue.
- Record
UBUNTU-CVE-2023-40576- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13815-1 No score
freerdp-3.4.0-1.1 on GA media
These are all security issues fixed in the freerdp-3.4.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13815-1- Updated
- 2026-11-02
Show 4 moreShow less
OSVopenSUSE-SU-2024:13816-1 No score
freerdp2-devel-2.11.5-1.1 on GA media
These are all security issues fixed in the freerdp2-devel-2.11.5-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13816-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20339-1 No score
Security update for freerdp
This update for freerdp fixes the following issues:
Update to version 3.22.0 (jsc#PED-15526):
-
Major bugfix release:
- Complete overhaul of SDL client
- Introduction of new WINPR_ATTR_NODISCARD macro wrapping compiler or C language version specific [[nodiscard]] attributes
- Addition of WINPR_ATTR_NODISCARD to (some) public API functions so usage errors are producing warnings now
- Add some more stringify functions for logging
- We've received CVE reports, check
https://github.com/FreeRDP/FreeRDP/security/advisories for more details!
@Keryer reported an issue affecting client and proxy:
- CVE-2026-23948 @ehdgks0627 did some more fuzzying and found quite a number of client side bugs.
- CVE-2026-24682
- CVE-2026-24683
- CVE-2026-24676
- CVE-2026-24677
- CVE-2026-24678
- CVE-2026-24684
- CVE-2026-24679
- CVE-2026-24681
- CVE-2026-24675
- CVE-2026-24491
- CVE-2026-24680
-
Changes from version 3.21.0
- [core,info] fix missing NULL check (#12157)
- [gateway,tsg] fix TSG_PACKET_RESPONSE parsing (#12161)
- Allow querying auth identity with kerberos when running as a server (#12162)
- Sspi krb heimdal (#12163)
- Tsg fix idleTimeout parsing (#12167)
- [channels,smartcard] revert 649f7de (#12166)
- [crypto] deprecate er and der modules (#12170)
- [channels,rdpei] lock full update, not only parts (#12175)
- [winpr,platform] add WINPR_ATTR_NODISCARD macro (#12178)
- Wlog cleanup (#12179)
- new stringify functions & touch API defines (#12180)
- Add support for querying SECPKG_ATTR_PACKAGE_INFO to NTLM and Kerberos (#12171)
- [channels,video] measure times in ns (#12184)
- [utils] Nodiscard (#12187)
- Error handling fixes (#12186)
- [channels,drdynvc] check pointer before reset (#12189)
- Winpr api def (#12190)
- [winpr,platform] drop C23 [[nodiscard]] (#12192)
- [gdi] add additional checks for a valid rdpGdi (#12194)
- Sdl3 high dpiv2 (#12173)
- peer: Disconnect if Logon() returned FALSE (#12196)
- [channels,rdpecam] fix PROPERTY_DESCRIPTION parsing (#12197)
- [channel,rdpsnd] only clean up thread before free (#12199)
- [channels,rdpei] add RDPINPUT_CONTACT_FLAG_UP (#12195)
-
Update to version 3.21.0:
-
Bugfix release with a few new API functions addressing shortcomings with regard to input data validation. Thanks to @ehdgks0627 we have fixed the following additional (medium) client side vulnerabilities:
- CVE-2026-23530
- CVE-2026-23531
- CVE-2026-23532
- CVE-2026-23533
- CVE-2026-23534
- CVE-2026-23732
- CVE-2026-23883
- CVE-2026-23884
-
-
Changes from version 3.20.2
- [client,sdl] fix monitor resolution (#12142)
- [codec,progressive] fix progressive_rfx_upgrade_block (#12143)
- Krb cache fix (#12145)
- Rdpdr improved checks (#12141)
- Codec advanced length checks (#12146)
- Glyph fix length checks (#12151)
- Wlog printf format string checks (#12150)
- [warnings,format] fix format string warnings (#12152)
- Double free fixes (#12153)
- [clang-tidy] clean up code warnings (#12154)
-
Update to version 3.20.2:
- Patch release fixing a regression with gateway connections
introduced with 3.20.1
What's Changed
- Warnings and missing enumeration types (#12137)
- Patch release fixing a regression with gateway connections
introduced with 3.20.1
-
Changes from version 3.20.1:
-
New years cleanup release. Fixes some issues reported and does a cleaning sweep to bring down warnings. Thanks to @ehdgks0627 doing some code review/testing we've uncovered the following (medium) vulnerabilities:
- CVE-2026-22851
- CVE-2026-22852
- CVE-2026-22853
- CVE-2026-22854
- CVE-2026-22855
- CVE-2026-22856
- CVE-2026-22857
- CVE-2026-22858
- CVE-2026-22859
-
These affect FreeRDP based clients only, with the exception of CVE-2026-22858 also affecting FreeRDP proxy. FreeRDP based servers are not affected.
-
-
Update to version 3.20.0:
*…
- Record
openSUSE-SU-2026:20339-1- Updated
- 2026-11-02
OSVSUSE-SU-2023:4611-1 No score
Security update for freerdp
This update for freerdp fixes the following issues:
- CVE-2023-39350: Fixed incorrect offset calculation leading to DoS (bsc#1214856).
- CVE-2023-39351: Fixed Null Pointer Dereference leading DoS in RemoteFX (bsc#1214857).
- CVE-2023-39352: Fixed Invalid offset validation leading to Out Of Bound Write (bsc#1214858).
- CVE-2023-39353: Fixed Missing offset validation leading to Out Of Bound Read (bsc#1214859).
- CVE-2023-39354: Fixed Out-Of-Bounds Read in nsc_rle_decompress_data (bsc#1214860).
- CVE-2023-39356: Fixed Missing offset validation leading to Out-of-Bounds Read in gdi_multi_opaque_rect (bsc#1214862).
- CVE-2023-40181: Fixed Integer-Underflow leading to Out-Of-Bound Read in zgfx_decompress_segment (bsc#1214863).
- CVE-2023-40186: Fixed IntegerOverflow leading to Out-Of-Bound Write Vulnerability in gdi_CreateSurface (bsc#1214864).
- CVE-2023-40188: Fixed Out-Of-Bounds Read in general_LumaToYUV444 (bsc#1214866).
- CVE-2023-40567: Fixed Out-Of-Bounds Write in clear_decompress_bands_data (bsc#1214867).
- CVE-2023-40569: Fixed Out-Of-Bounds Write in progressive_decompress (bsc#1214868).
- CVE-2023-40574: Fixed Out-Of-Bounds Write in general_YUV444ToRGB_8u_P3AC4R_BGRX (bsc#1214869).
- CVE-2023-40575: Fixed Out-Of-Bounds Read in general_YUV444ToRGB_8u_P3AC4R_BGRX (bsc#1214870).
- CVE-2023-40576: Fixed Out-Of-Bounds Read in RleDecompress (bsc#1214871).
- CVE-2023-40589: Fixed Global-Buffer-Overflow in ncrush_decompress (bsc#1214872).
- Record
SUSE-SU-2023:4611-1- Updated
- 2026-11-02
OSVSUSE-SU-2023:4893-1 No score
Security update for freerdp
This update for freerdp fixes the following issues:
- CVE-2023-39350: Fixed incorrect offset calculation leading to DoS (bsc#1214856).
- CVE-2023-39351: Fixed Null Pointer Dereference leading DoS in RemoteFX (bsc#1214857).
- CVE-2023-39352: Fixed Invalid offset validation leading to Out Of Bound Write (bsc#1214858).
- CVE-2023-39353: Fixed Missing offset validation leading to Out Of Bound Read (bsc#1214859).
- CVE-2023-39354: Fixed Out-Of-Bounds Read in nsc_rle_decompress_data (bsc#1214860).
- CVE-2023-39356: Fixed Missing offset validation leading to Out-of-Bounds Read in gdi_multi_opaque_rect (bsc#1214862).
- CVE-2023-40181: Fixed Integer-Underflow leading to Out-Of-Bound Read in zgfx_decompress_segment (bsc#1214863).
- CVE-2023-40186: Fixed IntegerOverflow leading to Out-Of-Bound Write Vulnerability in gdi_CreateSurface (bsc#1214864).
- CVE-2023-40188: Fixed Out-Of-Bounds Read in general_LumaToYUV444 (bsc#1214866).
- CVE-2023-40567: Fixed Out-Of-Bounds Write in clear_decompress_bands_data (bsc#1214867).
- CVE-2023-40569: Fixed Out-Of-Bounds Write in progressive_decompress (bsc#1214868).
- CVE-2023-40574: Fixed Out-Of-Bounds Write in general_YUV444ToRGB_8u_P3AC4R_BGRX (bsc#1214869).
- CVE-2023-40575: Fixed Out-Of-Bounds Read in general_YUV444ToRGB_8u_P3AC4R_BGRX (bsc#1214870).
- CVE-2023-40576: Fixed Out-Of-Bounds Read in RleDecompress (bsc#1214871).
- CVE-2023-40589: Fixed Global-Buffer-Overflow in ncrush_decompress (bsc#1214872).
- Record
SUSE-SU-2023:4893-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
freerdpSUSE:Linux Enterprise Software Development Kit 12 SP5 From an advisory covering 15 CVEs |
before 2.1.2-12.38.1 | 2.1.2-12.38.1 |
freerdpSUSE:Linux Enterprise Workstation Extension 12 SP5 From an advisory covering 15 CVEs |
before 2.1.2-12.38.1 | 2.1.2-12.38.1 |
freerdpSUSE:Linux Enterprise Module for Package Hub 15 SP4 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpSUSE:Linux Enterprise Module for Package Hub 15 SP5 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpSUSE:Linux Enterprise Workstation Extension 15 SP4 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpSUSE:Linux Enterprise Workstation Extension 15 SP5 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpopenSUSE:Leap 15.4 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpopenSUSE:Leap 15.5 From an advisory covering 15 CVEs |
before 2.4.0-150400.3.23.1 | 2.4.0-150400.3.23.1 |
freerdpopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 3.4.0-1.1 | 3.4.0-1.1 |
freerdp2openSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 2.11.5-1.1 | 2.11.5-1.1 |
freerdpopenSUSE:Leap 16.0 From an advisory covering 44 CVEs |
before 3.22.0-160000.1.1 | 3.22.0-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| aliases, published | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-40576 is a medium vulnerability (CVSS 5.3) in Freerdp, published August 31, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.24%, the 69th percentile. No source names a fixed version.
References
github.com/FreeRDP/FreeRDP/security/advisories/GHSA-x3x5-r7jm-5pq2
github.com/FreeRDP/FreeRDP/blob/5be5553e0da72178a4b94cc1ffbdace9ceb153e5/libfreerdp/codec/include/bitmap.c
security.gentoo.org/glsa/202401-16
github.com/CVEProject/cvelistV5/tree/main/cves/2023/40xxx/CVE-2023-40576.json
nvd.nist.gov/vuln/detail/CVE-2023-40576
suse.com/support/update/announcement/2023/suse-su-20234611-1
Show 105 moreShow less
bugzilla.suse.com/1214856
bugzilla.suse.com/1214857
bugzilla.suse.com/1214858
bugzilla.suse.com/1214859
bugzilla.suse.com/1214860
bugzilla.suse.com/1214862
bugzilla.suse.com/1214863
bugzilla.suse.com/1214864
bugzilla.suse.com/1214866
bugzilla.suse.com/1214867
bugzilla.suse.com/1214868
bugzilla.suse.com/1214869
bugzilla.suse.com/1214870
bugzilla.suse.com/1214871
bugzilla.suse.com/1214872
suse.com/security/cve/CVE-2023-39350
suse.com/security/cve/CVE-2023-39351
suse.com/security/cve/CVE-2023-39352
suse.com/security/cve/CVE-2023-39353
suse.com/security/cve/CVE-2023-39354
suse.com/security/cve/CVE-2023-39356
suse.com/security/cve/CVE-2023-40181
suse.com/security/cve/CVE-2023-40186
suse.com/security/cve/CVE-2023-40188
suse.com/security/cve/CVE-2023-40567
suse.com/security/cve/CVE-2023-40569
suse.com/security/cve/CVE-2023-40574
suse.com/security/cve/CVE-2023-40575
suse.com/security/cve/CVE-2023-40576
suse.com/security/cve/CVE-2023-40589
suse.com/support/update/announcement/2023/suse-su-20234893-1
ubuntu.com/security/CVE-2023-40576
cve.org/CVERecord?id=CVE-2023-40576
suse.com/security/cve/CVE-2014-0250
suse.com/security/cve/CVE-2014-0791
bugzilla.suse.com/1219049
bugzilla.suse.com/1223293
bugzilla.suse.com/1223294
bugzilla.suse.com/1223295
bugzilla.suse.com/1223296
bugzilla.suse.com/1223297
bugzilla.suse.com/1223298
bugzilla.suse.com/1223346
bugzilla.suse.com/1223347
bugzilla.suse.com/1223348
bugzilla.suse.com/1223353
bugzilla.suse.com/1243109
bugzilla.suse.com/1256717
bugzilla.suse.com/1256718
bugzilla.suse.com/1256719
bugzilla.suse.com/1256720
bugzilla.suse.com/1256721
bugzilla.suse.com/1256722
bugzilla.suse.com/1256723
bugzilla.suse.com/1256724
bugzilla.suse.com/1256725
bugzilla.suse.com/1256940
bugzilla.suse.com/1256941
bugzilla.suse.com/1256942
bugzilla.suse.com/1256943
bugzilla.suse.com/1256944
bugzilla.suse.com/1256945
bugzilla.suse.com/1256946
bugzilla.suse.com/1256947
suse.com/security/cve/CVE-2024-22211
suse.com/security/cve/CVE-2024-32039
suse.com/security/cve/CVE-2024-32040
suse.com/security/cve/CVE-2024-32041
suse.com/security/cve/CVE-2024-32458
suse.com/security/cve/CVE-2024-32459
suse.com/security/cve/CVE-2024-32460
suse.com/security/cve/CVE-2024-32658
suse.com/security/cve/CVE-2024-32659
suse.com/security/cve/CVE-2024-32660
suse.com/security/cve/CVE-2024-32661
suse.com/security/cve/CVE-2025-4478
suse.com/security/cve/CVE-2026-22851
suse.com/security/cve/CVE-2026-22852
suse.com/security/cve/CVE-2026-22853
suse.com/security/cve/CVE-2026-22854
suse.com/security/cve/CVE-2026-22855
suse.com/security/cve/CVE-2026-22856
suse.com/security/cve/CVE-2026-22857
suse.com/security/cve/CVE-2026-22858
suse.com/security/cve/CVE-2026-22859
suse.com/security/cve/CVE-2026-23530
suse.com/security/cve/CVE-2026-23531
suse.com/security/cve/CVE-2026-23532
suse.com/security/cve/CVE-2026-23533
suse.com/security/cve/CVE-2026-23534
suse.com/security/cve/CVE-2026-23732
suse.com/security/cve/CVE-2026-23883
suse.com/security/cve/CVE-2026-23884
suse.com/security/cve/CVE-2026-23948
suse.com/security/cve/CVE-2026-24491
suse.com/security/cve/CVE-2026-24675
suse.com/security/cve/CVE-2026-24676
suse.com/security/cve/CVE-2026-24677
suse.com/security/cve/CVE-2026-24678
suse.com/security/cve/CVE-2026-24679
suse.com/security/cve/CVE-2026-24680
suse.com/security/cve/CVE-2026-24681
suse.com/security/cve/CVE-2026-24682
suse.com/security/cve/CVE-2026-24683
suse.com/security/cve/CVE-2026-24684
Left out here: the rest of 1 source description. The JSON record has them.