xrdp: Pre-auth infinite loop via totalLength=0 in TS_SHARECONTROLHEADER
xrdp is an open source RDP server. In versions 0.10.6 and prior, a n issue was discovered where the software fails to properly validate the totalLength field within the RDP protocol control header during packet reception. An unauthenticated remote attacker can exploit this vulnerability by sending a specially crafted packet that forces the xrdp process or thread into an infinite, CPU-bound loop. Because the internal pointer fails to advance and the deadlock prevention mechanism is bypassed for specific protocol data unit types, the process consumes excessive CPU resources indefinitely. This can render the xrdp service unavailable and potentially lead to system-wide resource exhaustion if multiple malicious connections are established. This issue has been fixed in version 0.10.6.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54538
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 20:24 UTC · Revision 1
Source evidence
xrdp: Pre-auth infinite loop via totalLength=0 in TS_SHARECONTROLHEADER
core-osv · Original sourcePublished 20 Jul 2026, 16:57 UTC
xrdp is an open source RDP server. In versions 0.10.6 and prior, a n issue was discovered where the software fails to properly validate the totalLength field within the RDP protocol control header during packet reception. An unauthenticated remote attacker can exploit this vulnerability by sending a specially crafted packet that forces the xrdp process or thread into an infinite, CPU-bound loop. Because the internal pointer fails to advance and the deadlock prevention mechanism is bypassed for specific protocol data unit types, the process consumes excessive CPU resources indefinitely. This can render the xrdp service unavailable and potentially lead to system-wide resource exhaustion if multiple malicious connections are established. This issue has been fixed in version 0.10.6.1.
osv:CVE-2026-54538
Complete source record
{
"id": "be92aa21b26ac101e5e22a6670e62c71bf0bd17bc015484fac0dbcf2d4e4c019",
"url": "https://osv.dev/vulnerability/CVE-2026-54538",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "xrdp: Pre-auth infinite loop via totalLength=0 in TS_SHARECONTROLHEADER",
"summary": "xrdp is an open source RDP server. In versions 0.10.6 and prior, a n issue was discovered where the software fails to properly validate the totalLength field within the RDP protocol control header during packet reception. An unauthenticated remote attacker can exploit this vulnerability by sending a specially crafted packet that forces the xrdp process or thread into an infinite, CPU-bound loop. Because the internal pointer fails to advance and the deadlock prevention mechanism is bypassed for specific protocol data unit types, the process consumes excessive CPU resources indefinitely. This can render the xrdp service unavailable and potentially lead to system-wide resource exhaustion if multiple malicious connections are established. This issue has been fixed in version 0.10.6.1.",
"evidence": "osv:CVE-2026-54538",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-54538",
"aliases": [
"CVE-2026-54538",
"GHSA-9j3q-9mvw-qv7j"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/neutrinolabs/xrdp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "80c52879fead585d6347df5b3c587718adf8f5a5"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.10.6.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "80c52879fead585d6347df5b3c587718adf8f5a5"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v0.10.6.1"
},
{
"cpe": "cpe:2.3:a:neutrinolabs:xrdp:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.10.6.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v0.10.6.1-rc.1",
"v0.10.6",
"v0.10.5",
"v0.10.4.1",
"v0.10.4",
"v0.10.3",
"v0.10.2",
"v0.10.2-rc.1",
"v0.10.1",
"v0.10.0",
"v0.10.0-beta.3",
"v0.10.0-beta.2",
"v0.10.0-beta.1",
"v0.9.18",
"v0.9.17",
"v0.9.16",
"v0.9.15",
"v0.9.14",
"v0.9.13",
"v0.9.12",
"v0.9.11",
"v0.9.10",
"v0.9.9",
"v0.9.8",
"v0.9.7",
"v0.9.6",
"v0.9.5",
"v0.9.4",
"v0.9.4.rc1",
"v0.9.3",
"v0.9.3.rc1",
"v0.9.2"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54538.json"
}
}
],
"modified": "2026-10-28T02:30:23.368658704Z",
"provider": "osv",
"references": [
"https://github.com/neutrinolabs/xrdp/releases/tag/v0.10.6.1",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54538.json",
"https://github.com/neutrinolabs/xrdp/security/advisories/GHSA-9j3q-9mvw-qv7j",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54538"
],
"provider_metadata": {
"cwe_ids": [
"CWE-835"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54538.json"
}
},
"related_cves": [
{
"value": "CVE-2026-54538",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 489800,
"published_at": "2026-07-20T16:57:32.738+00:00"
}