Skip to content
OpenAdvisories
Critical RHSA-2026:6799 14 CVEs

Red Hat Security Advisory: freerdp security update

Published Apr 8, 2026 · Updated Aug 19, 2026

Fixed packages 11

ReleasePackageFixed in
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-debuginfo 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-debugsource 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-devel 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-libs 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-libs-debuginfo 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-server 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 freerdp-server-debuginfo 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 libwinpr 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 libwinpr-debuginfo 2:3.10.3-5.el10_1.5
Red Hat · RHEL 10 enterprise_linux:10.1 libwinpr-devel 2:3.10.3-5.el10_1.5

Vulnerabilities 14

  • Critical 9.3

    FreeRDP has a Heap Buffer Overflow in nsc_process_message() via Unchecked SURFACE_BITS_COMMAND Bitmap Dimensions

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, the gdi_surface_bits() function processes SURFACE_BITS_COMMAND messages sent by the RDP server. When the command is handled using NSCodec, the bmp.width and bmp.height values pr…

  • High 8.7

    FreeRDP has a heap-buffer-overflow in urb_select_interface

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, The URBDRC client uses server-supplied interface numbers as array indices without bounds checks, causing an out-of-bounds read in libusb_udev_select_interface. This vulnerabilit…

  • High 8.7

    FreeRDP has a heap-use-after-free in urb_bulk_transfer_cb

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, aAsynchronous bulk transfer completions can use a freed channel callback after URBDRC channel close, leading to a use after free in urb_write_completion. This vulnerability is f…

  • High 8.7

    FreeRDP has a Heap-buffer-overflow in audio_formats_free

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, audin_server_recv_formats frees an incorrect number of audio formats on parse failure (i + i), leading to out-of-bounds access in audio_formats_free. This vulnerability is fixed…

  • High 8.7

    FreeRDP has a heap-use-after-free in ainput_send_input_event

    FreeRDP is a free implementation of the Remote Desktop Protocol. ainput_send_input_event caches channel_callback in a local variable and later uses it without synchronization; a concurrent channel close can free or reinitialize the callback, leading to a use …

  • High 8.7

    FreeRDP has a Heap-use-after-free in play_thread

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, the RDPSND async playback thread can process queued PDUs after the channel is closed and internal state is freed, leading to a use after free in rdpsnd_treat_wave. This vulnerab…

  • High 7.7

    FreeRDP has a heap-use-after-free in video_timer

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, video_timer can send client notifications after the control channel is closed, dereferencing a freed callback and triggering a use after free. This vulnerability is fixed in 3.2…

  • High 7.7

    FreeRDP has a Heap-use-after-free in urb_select_interface

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, urb_select_interface can free the device's MS config on error but later code still dereferences it, leading to a use after free in libusb_udev_select_interface. This vulnerabili…

  • High 7.7

    FreeRDP has a heap-use-after-free in audio_format_compatible

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, AUDIN format renegotiation frees the active format list while the capture thread continues using audin->format, leading to a use after free in audio_format_compatible. This vuln…

  • Medium 6.9

    FreeRDP has a NULL Pointer Dereference in rdp_write_logon_info_v2()

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, a NULL pointer dereference vulnerability in rdp_write_logon_info_v2() allows a malicious RDP server to crash FreeRDP proxy by sending a specially crafted LogonInfoV2 PDU with cb…

  • Medium 6.8

    FreeRDP has a heap-buffer-overflow in audin_process_formats

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.20.1, a malicious RDP server can trigger a heap-buffer-overflow write in the FreeRDP client when processing Audio Input (AUDIN) format lists. audin_process_formats reuses callback->fo…

  • Medium 6.8

    FreeRDP has a heap-buffer-overflow in drive_process_irp_read

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.20.1, a heap-buffer-overflow occurs in drive read when a server-controlled read length is used to read file data into an IRP output stream buffer without a hard upper bound, allowing …

  • Medium 6.8

    FreeRDP has a heap-use-after-free in create_irp_thread

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.20.1, a race in the serial channel IRP thread tracking allows a heap use‑after‑free when one thread removes an entry from serial->IrpThreads while another reads it. This vulnerability…

  • Medium 5.5

    FreeRDP has heap-buffer-overflow in Glyph_Alloc

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.21.0, FastGlyph parsing trusts `cbData`/remaining length and never validates against the minimum size implied by `cx/cy`. A malicious server can trigger a client‑side global b…

References

  • article
    https://access.redhat.com/security/updates/classification/#important
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2429650
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2429652
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2429654
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2430881
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438201
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438202
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438207
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438208
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438210
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438212
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438216
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438217
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2438221
  • report
    https://bugzilla.redhat.com/show_bug.cgi?id=2447376
  • advisory
    https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_6799.json
  • report
    https://access.redhat.com/security/cve/CVE-2026-22852
  • advisory
    https://www.cve.org/CVERecord?id=CVE-2026-22852
  • advisory
    https://nvd.nist.gov/vuln/detail/CVE-2026-22852
  • article
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.20.1
  • article
    https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-9chc-g79v-4qq4
  • report
    https://access.redhat.com/security/cve/CVE-2026-22854
  • advisory
    https://www.cve.org/CVERecord?id=CVE-2026-22854
  • advisory
    https://nvd.nist.gov/vuln/detail/CVE-2026-22854
  • article
    https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-47vj-g3c3-3rmf
  • report
    https://access.redhat.com/security/cve/CVE-2026-22856
  • advisory
    https://www.cve.org/CVERecord?id=CVE-2026-22856
  • advisory
    https://nvd.nist.gov/vuln/detail/CVE-2026-22856
  • article
    https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-w842-c386-fxhv
  • report
    https://access.redhat.com/security/cve/CVE-2026-23732
  • advisory
    https://www.cve.org/CVERecord?id=CVE-2026-23732
  • advisory
    https://nvd.nist.gov/vuln/detail/CVE-2026-23732
  • article
    https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/cache/glyph.c#L463-L480
  • article
    https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/codec/color.c#L261-L277
  • article
    https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/core/graphics.c#L138
  • article
    https://github.com/FreeRDP/FreeRDP/blob/f96ee2a6dd02739325c2a4e36a14978b561f00ea/libfreerdp/core/orders.c#L2186C17-L2199
  • article
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0
  • article
    https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-7qxp-j2fj-c3pp
  • report
    https://access.redhat.com/security/cve/CVE-2026-23948