Security advisory
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
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-15103
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:51 UTC · Revision 1
Source evidence
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
osv:CVE-2020-15103
Complete source record
{
"id": "8b87421e99ef35116e04347d900e611b6f497416a3bde9c25870a8c110f73d6f",
"url": "https://osv.dev/vulnerability/CVE-2020-15103",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-15103",
"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",
"evidence": "osv:CVE-2020-15103",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2020-15103",
"aliases": [
"CVE-2020-15103",
"GHSA-4r38-6hq7-j3j9"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/freerdp/freerdp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "584efae073386e8c5f6bc265b05c87d508a9bcbc"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.1.2"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"2.1.2",
"2.1.1",
"2.1.0",
"2.0.0",
"2.0.0-rc4",
"2.0.0-rc3",
"2.0.0-rc2",
"2.0.0-rc1",
"2.0.0-rc0",
"2.0.0-beta1+android11",
"2.0.0-beta1+android10",
"1.2.0-beta1+android9",
"1.2.0-beta1+android7",
"1.1.0-beta+2013071101",
"1.1.0-beta1+ios4",
"1.1.0-beta1+android5",
"1.1.0-beta1+android4",
"1.1.0-beta1+ios3",
"1.1.0-beta1+ios2",
"1.1.0-beta1+android3",
"1.1.0-beta1+android2",
"1.1.0-beta1+ios1",
"1.1.0-beta1",
"1.0.1",
"1.0.0",
"1.0-beta5",
"1.0-beta4",
"1.0-beta2",
"1.0-beta1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15103.json"
}
}
],
"modified": "2026-10-20T10:51:51.864334580Z",
"provider": "osv",
"references": [
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6Y35HBHG2INICLSGCIKNAR7GCXEHQACQ/",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/XOZLH35OJWIQLM7FYDXAP2EAUBDXE76V/",
"https://github.com/FreeRDP/FreeRDP/blob/616af2d5b86dc24c7b3e89870dbcffd841d9a535/ChangeLog#L4",
"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-4r38-6hq7-j3j9",
"https://lists.debian.org/debian-lts-announce/2023/10/msg00008.html",
"https://usn.ubuntu.com/4481-1/",
"https://github.com/FreeRDP/FreeRDP/pull/6382"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:esm:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "18.04"
},
{
"last_affected": "18.04"
},
{
"introduced": "20.04"
},
{
"last_affected": "20.04"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*"
],
"vendor_product": "debian:debian_linux",
"extracted_events": [
{
"range": [
{
"introduced": "10.0"
},
{
"last_affected": "10.0"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "31"
},
{
"last_affected": "31"
},
{
"introduced": "32"
},
{
"last_affected": "32"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*"
],
"vendor_product": "opensuse:leap",
"extracted_events": [
{
"range": [
{
"introduced": "15.1"
},
{
"last_affected": "15.1"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2020-15103",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 383036,
"published_at": "2020-07-27T18:15:13.903+00:00"
}