{"id":"UBUNTU-CVE-2026-121963","details":"FreeRDP before 3.32.2 contains a use-after-free vulnerability in the asynchronous dynamic rdpsnd channel that allows malicious RDP servers to trigger freed callback access by closing the channel with queued audio PDUs. Attackers can send a training PDU then close the channel so the playback thread reads the freed callback in rdpsnd_virtual_channel_write, crashing the client.","modified":"2026-11-05T11:47:34.104627107Z","published":"2026-11-04T00:00:00Z","upstream":["CVE-2026-121963"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-121963"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-121963"}],"affected":[{"package":{"name":"freerdp","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/freerdp?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.2","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.3","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"],"ecosystem_specific":{"binaries":[{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"freerdp-x11"},{"binary_name":"libfreerdp-cache1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-client1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-codec1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-common1.1.0","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-core1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-crypto1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-gdi1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-locale1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-plugins-standard"},{"binary_name":"libfreerdp-primitives1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-rail1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libfreerdp-utils1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-asn1-0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-bcrypt0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-credentials0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-credui0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-crt0.1"},{"binary_name":"libwinpr-crypto0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-dsparse0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-environment0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-error0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-file0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-handle0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-heap0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-input0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-interlocked0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-io0.1"},{"binary_name":"libwinpr-library0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-path0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-pipe0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-pool0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-registry0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-rpc0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-sspi0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-sspicli0.1"},{"binary_name":"libwinpr-synch0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-sysinfo0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-thread0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-timezone0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-utils0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-winhttp0.1"},{"binary_name":"libwinpr-winsock0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libxfreerdp-client1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-121963.json"}},{"package":{"name":"freerdp","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/freerdp?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1","1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.1","1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"],"ecosystem_specific":{"binaries":[{"binary_name":"freerdp-x11","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libfreerdp-cache1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-client1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-codec1.1"},{"binary_name":"libfreerdp-common1.1.0","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-core1.1"},{"binary_name":"libfreerdp-crypto1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-gdi1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-locale1.1"},{"binary_name":"libfreerdp-plugins-standard","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-primitives1.1"},{"binary_name":"libfreerdp-rail1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-utils1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-asn1-0.1"},{"binary_name":"libwinpr-bcrypt0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-credentials0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-credui0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-crt0.1"},{"binary_name":"libwinpr-crypto0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-dsparse0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-environment0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-error0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-file0.1"},{"binary_name":"libwinpr-handle0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-heap0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-input0.1"},{"binary_name":"libwinpr-interlocked0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-io0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-library0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-path0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-pipe0.1"},{"binary_name":"libwinpr-pool0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-registry0.1"},{"binary_name":"libwinpr-rpc0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-sspi0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-sspicli0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-synch0.1"},{"binary_name":"libwinpr-sysinfo0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-thread0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-timezone0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-utils0.1"},{"binary_name":"libwinpr-winhttp0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-winsock0.1"},{"binary_name":"libxfreerdp-client1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-121963.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}