{"id":"CVE-2026-44978","state":"PUBLISHED","title":"xrdp: Unchecked FIPS padding length in standard RDP Security causes heap out-of-bounds read in HMAC verification","description":"xrdp is an open source RDP server. Versions 0.10.6 and prior contain a heap out-of-bounds read vulnerability within the FIPS-specific receive paths. This vulnerability does not affect the default configuration of xrdp. The vulnerability is only exploitable when the security layer is set to security_layer=negotiate or security_layer=rdp, and the crypto level is changed to crypt_level=fips in xrdp.ini. In this specific non-default mode, the server fails to validate the FIPS padding length field, leading to a pointer underflow and a subsequent negative length calculation. An unauthenticated remote attacker can exploit this by sending a crafted FIPS-protected PDU, causing a heap out-of-bounds read that results in a process crash and denial of service (DoS). However, since xrdp forks a new process for each connection by default, an out-of-bounds read causing a process crash is unlikely to bring down the entire xrdp service. This issue has been fixed in version 0.10.6.1.","publishedAt":"2026-07-20T16:56:03.216Z","updatedAt":"2026-07-21T16:04:45.918Z","severity":{"score":5.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","source":"GitHub_M"},"assigner":"GitHub_M","products":["neutrinolabs xrdp"],"affected":[{"vendor":"neutrinolabs","product":"xrdp","versions":[{"version":"< 0.10.6.1","status":"affected"}]}],"references":["https://github.com/neutrinolabs/xrdp/security/advisories/GHSA-9cg5-f7m7-ppvj","https://github.com/neutrinolabs/xrdp/releases/tag/v0.10.6.1"],"weaknesses":["CWE-20","CWE-125"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/44xxx/CVE-2026-44978.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-44978","state":"PUBLISHED","datePublished":"2026-07-20T16:56:03.216Z","dateUpdated":"2026-07-21T16:04:45.918Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-05-08T16:23:33.264Z"},"containers":{"cna":{"title":"xrdp: Unchecked FIPS padding length in standard RDP Security causes heap out-of-bounds read in HMAC verification","descriptions":[{"lang":"en","value":"xrdp is an open source RDP server. Versions 0.10.6 and prior contain a heap out-of-bounds read vulnerability within the FIPS-specific receive paths. This vulnerability does not affect the default configuration of xrdp. The vulnerability is only exploitable when the security layer is set to security_layer=negotiate or security_layer=rdp, and the crypto level is changed to crypt_level=fips in xrdp.ini. In this specific non-default mode, the server fails to validate the FIPS padding length field, leading to a pointer underflow and a subsequent negative length calculation. An unauthenticated remote attacker can exploit this by sending a crafted FIPS-protected PDU, causing a heap out-of-bounds read that results in a process crash and denial of service (DoS). However, since xrdp forks a new process for each connection by default, an out-of-bounds read causing a process crash is unlikely to bring down the entire xrdp service. This issue has been fixed in version 0.10.6.1."}],"affected":[{"vendor":"neutrinolabs","product":"xrdp","versions":[{"version":"< 0.10.6.1","status":"affected"}]}],"references":[{"url":"https://github.com/neutrinolabs/xrdp/security/advisories/GHSA-9cg5-f7m7-ppvj","name":"https://github.com/neutrinolabs/xrdp/security/advisories/GHSA-9cg5-f7m7-ppvj","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/neutrinolabs/xrdp/releases/tag/v0.10.6.1","name":"https://github.com/neutrinolabs/xrdp/releases/tag/v0.10.6.1","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","lang":"en","description":"CWE-20: Improper Input Validation","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-125","lang":"en","description":"CWE-125: Out-of-bounds Read","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-07-20T16:56:03.216Z"},"source":{"advisory":"GHSA-9cg5-f7m7-ppvj","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-21T16:03:54.447257Z","id":"CVE-2026-44978","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-21T16:04:45.918Z"}}]}}}