{"id":"CVE-2026-109945","summary":"FreeRDP 3.0.0 before 3.32.0 Smartcard Use-After-Free via Concurrent Disconnect and Transmit","details":"FreeRDP 3.0.0 before 3.32.0 contains a heap use-after-free vulnerability in smartcard emulation when SCARD_IOCTL_DISCONNECT and SCARD_IOCTL_TRANSMIT operate concurrently on one card handle. A malicious RDP server can overlap these IRPs through separate context workers to free and reuse the SCardHandle, causing client-process heap corruption and termination.","aliases":["GHSA-8rpr-jjjg-5qv6"],"modified":"2026-10-14T02:48:20.913404984Z","published":"2026-10-13T13:27:13.201Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109945.json","cna_assigner":"VulnCheck","cwe_ids":["CWE-362"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109945.json"},{"type":"ADVISORY","url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-8rpr-jjjg-5qv6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109945"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/freerdp-3.0.0-before-3.32.0-smartcard-use-after-free-via-concurrent-disconnect-and-transmit"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/freerdp/freerdp","events":[{"introduced":"a34fa7c49d2a39aa49ace1d7bea9656912d8c7cb"},{"fixed":"d27a4f7c1c63b62a5e60e5d939ad116cfb58ffc1"}],"database_specific":{"extracted_events":[{"introduced":"3.0.0"},{"fixed":"3.32.0"}],"source":"AFFECTED_FIELD"}}],"versions":["3.5.1","3.5.0","3.4.0","3.3.0","3.2.0","3.1.0","3.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-109945.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}]}