{"id":"UBUNTU-CVE-2026-121957","details":"FreeRDP before 3.32.2 contains a use-after-free vulnerability that allows malicious RDP servers to corrupt client memory by racing the RDPGFX ResetGraphics handler against the planar bitmap decoder. Attackers can send ResetGraphics while concurrently sending compressed bitmaps of 32 bpp or more to trigger heap use-after-free or out-of-bounds read/write on shared planar buffers.","modified":"2026-11-05T11:47:33.844117364Z","published":"2026-11-04T00:00:00Z","upstream":["CVE-2026-121957"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-121957"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-121957"}],"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_name":"freerdp-x11","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"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_name":"libfreerdp-plugins-standard","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"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_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-utils1.1"},{"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_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_name":"libwinpr-crt0.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-crypto0.1"},{"binary_name":"libwinpr-dsparse0.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-environment0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-error0.1"},{"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_name":"libwinpr-input0.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-interlocked0.1"},{"binary_name":"libwinpr-io0.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-library0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-path0.1"},{"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_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-rpc0.1"},{"binary_name":"libwinpr-sspi0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"binary_name":"libwinpr-sspicli0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"},{"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_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_name":"libwinpr-utils0.1"},{"binary_name":"libwinpr-winhttp0.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-winsock0.1"},{"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-121957.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_name":"libfreerdp-client1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libfreerdp-codec1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libfreerdp-common1.1.0","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libfreerdp-core1.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-crypto1.1"},{"binary_name":"libfreerdp-gdi1.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libfreerdp-locale1.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-plugins-standard"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-primitives1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-rail1.1"},{"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_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-bcrypt0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-credentials0.1"},{"binary_name":"libwinpr-credui0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-crt0.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-crypto0.1"},{"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_name":"libwinpr-file0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"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_name":"libwinpr-input0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-interlocked0.1","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_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-pool0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-registry0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"binary_name":"libwinpr-rpc0.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-sspi0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-sspicli0.1"},{"binary_name":"libwinpr-synch0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"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_name":"libwinpr-utils0.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-winhttp0.1"},{"binary_name":"libwinpr-winsock0.1","binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"},{"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-121957.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}