Skip to content
Fencer Vulns
low 3.5

CVE-2020-15103 json

Integer Overflow in FreeRDP

published 2020-07-27 6 y ago modified 2026-06-17 4 mo ago also EUVD-2020-7218

cvss
3.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
1.5%
EPSS 1.5% chance of exploitation in 30 days, percentile 73%
public exploits
0
none known

Summary

In FreeRDP less than or equal to 2.1.2, an integer overflow exists due to missing input sanitation in rdpegfx channel. All FreeRDP clients are affected. The input rectangles from the server are not checked against local surface coordinates and blindly accepted. A malicious server can send data that will crash the client later on (invalid length arguments to a `memcpy`) This has been fixed in 2.2.0. As a workaround, stop using command line arguments /gfx, /gfx-h264 and /network:auto

Patch / fix

  • freerdp2 Debian 12 2.2.0+dfsg1-1

debian advisories DEBIAN-CVE-2020-15103

  • freerdp2 Ubuntu 18.04 LTS 2.2.0+dfsg1-0ubuntu0.18.04.1
  • freerdp2 Ubuntu 20.04 LTS 2.2.0+dfsg1-0ubuntu0.20.04.1

ubuntu advisories UBUNTU-CVE-2020-15103

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • freerdp RHEL 8 2:2.2.0-1.el8
  • libwinpr RHEL 8 2:2.2.0-1.el8
  • freerdp-libs RHEL 8 2:2.2.0-1.el8

red hat advisories RHSA-2021:1849

  • freerdp SLE Workstation Extension 15 SP1 2.1.2-10.18.1
  • freerdp SLE Workstation Extension 15 SP2 2.1.2-15.10.1
  • freerdp SLE Workstation Extension 12 SP5, SLE Software Development Kit 12 SP5 2.1.2-12.20.1
  • vinagre SLE Workstation Extension 12 SP5 3.20.2-16.3.3

suse advisories SUSE-SU-2020:2409-1SUSE-SU-2020:2408-1SUSE-SU-2020:2272-1

  • freerdp2 openSUSE Tumbleweed 2.4.0-2.1
  • freerdp openSUSE Leap 15.1 2.1.2-lp151.5.9.1

opensuse advisories openSUSE-SU-2024:10768-1openSUSE-SU-2020:1332-1

  • freerdp Rocky Linux 8 2:2.2.0-1.el8
  • freerdp Rocky Linux 8 2:2.2.0-10.el8

rocky linux advisories RLSA-2021:1849

  • freerdp Alpine 3.24, Alpine 3.23, Alpine 3.22 +10 more 2.2.0-r0
  • freerdp2 Alpine 3.24, Alpine 3.23, Alpine 3.22 2.2.0-r0

alpine advisories ALPINE-CVE-2020-15103

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • freerdp Arch Linux 2:2.2.0-1

arch linux advisories AVG-1209

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-15103 updated cvss 3.5

freerdp: integer overflow due to missing input sanitation in rdpegfx channel

  • Red Hat Enterprise Linux 7 freerdp, libwinpr, freerdp-libs, freerdp-plugins
    affected: no fix planned “Will not fix”
  • Red Hat CodeReady Linux Builder (v. 8) freerdp-devel 2.2.0-1.el8, freerdp-debuginfo 2.2.0-1.el8, libwinpr-debuginfo 2.2.0-1.el8, freerdp-debugsource 2.2.0-1.el8, freerdp-libs-debuginfo 2.2.0-1.el8 Red Hat Enterprise Linux AppStream (v. 8) freerdp 2.2.0-1.el8, libwinpr 2.2.0-1.el8, freerdp-libs 2.2.0-1.el8
    fixed: vendor fix RHSA-2021:1849
  • Red Hat Enterprise Linux 6 freerdp, freerdp-libs, freerdp-plugins
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

1.46% chance of exploitation in the next 30 days, higher than 73% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 3.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L
NVD 3.1 3.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L
NVD 2.0 3.5 AV:N/AC:M/Au:S/C:N/I:N/A:P

Affected products

  • FreeRDP FreeRDP

Classification

Weakness
  • CWE-680 Integer Overflow to Buffer Overflow
  • CWE-190 Integer Overflow or Wraparound

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.