{"id":"CVE-2026-25942","aliases":["ALPINE-CVE-2026-25942","DEBIAN-CVE-2026-25942","EUVD-2026-8731","GHSA-78q6-67m7-wwf6","MGASA-2026-0383","OESA-2026-2439","OESA-2026-2440","OESA-2026-2441","OESA-2026-2442","OESA-2026-2540","SUSE-SU-2026:1632-1","SUSE-SU-2026:1633-1","SUSE-SU-2026:1634-1","SUSE-SU-2026:1635-1","SUSE-SU-2026:1640-1","SUSE-SU-2026:21436-1","UBUNTU-CVE-2026-25942","USN-8105-1","openSUSE-SU-2026:10408-1","openSUSE-SU-2026:10611-1","openSUSE-SU-2026:20632-1","openSUSE-SU-2026:20657-1"],"status":"published","title":"FreeRDP has global-buffer-overflow in xf_rail_server_execute_result","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","severity":{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00532,"percentile":0.45309,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2026-02-25T20:01:16Z","modified":"2026-11-03T06:33:01Z","fixes":[{"ecosystem":"Alpine:v3.23","package":"freerdp","fixed_in":["3.23.0-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"freerdp","fixed_in":["3.23.0-r0"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"freerdp3","fixed_in":["3.15.0+dfsg-2.1+deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"freerdp3","fixed_in":["3.23.0+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"freerdp3","fixed_in":["3.5.1+dfsg1-0ubuntu1.4"],"sources":["osv"]},{"ecosystem":"Ubuntu:25.10","package":"freerdp3","fixed_in":["3.16.0+dfsg-2ubuntu0.3"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.23","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.0-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.0-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.0+dfsg1-1","2.10.0+dfsg1-1.1","2.11.2+dfsg1-1","2.11.2+dfsg1-1.1~exp1","2.11.2+dfsg1-1.1~exp2","2.11.5+dfsg1-1","2.11.7+dfsg1-1","2.11.7+dfsg1-2","2.11.7+dfsg1-3","2.11.7+dfsg1-4","2.11.7+dfsg1-5","2.11.7+dfsg1-6","2.11.7+dfsg1-6~deb12u1"]},{"source":"osv","ecosystem":"Debian:13","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.15.0+dfsg-2.1+deb13u1"}]}],"versions":["3.15.0+dfsg-2.1"]},{"source":"osv","ecosystem":"Debian:14","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.0+dfsg-1"}]}],"versions":["3.15.0+dfsg-2.1","3.16.0+dfsg-1","3.16.0+dfsg-2","3.17.0+dfsg-1","3.17.1+dfsg-1","3.17.1+dfsg-2","3.17.2+dfsg-1","3.17.2+dfsg-2","3.17.2+dfsg-3","3.18.0+dfsg-1","3.19.0+dfsg-1","3.19.1+dfsg-1","3.20.0+dfsg-1","3.20.2+dfsg-1","3.21.0+dfsg-1","3.22.0+dfsg-1","3.22.0+dfsg-1~bpo13+0","3.22.0+dfsg-1~bpo13+1","3.22.0+dfsg-3","3.23.0+dfsg-1~bpo13+1"]},{"source":"osv","ecosystem":"Mageia:10","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.31.0-1.mga10"}]}],"bundled":32},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.8-5.oe2403sp3"}]}],"bundled":10},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP4","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.8-5.oe2003sp4"}]}],"bundled":10},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.8-5.oe2203sp4"}]}],"bundled":10},{"source":"osv","ecosystem":"openEuler:24.03-LTS","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.8-5.oe2403"}]}],"bundled":10},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.8-5.oe2403sp1"}]}],"bundled":10},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"freerdp","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"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.0.0~git20170725.1.1648deb+dfsg1-1","2.0.0~git20170725.1.1648deb+dfsg1-5","2.0.0~git20170725.1.1648deb+dfsg1-5ubuntu1","2.0.0~git20170725.1.1648deb+dfsg1-5ubuntu2","2.0.0~git20170725.1.1648deb+dfsg1-6","2.0.0~git20170725.1.1648deb+dfsg1-6build1","2.0.0~git20170725.1.1648deb+dfsg1-7","2.0.0~git20170725.1.1648deb+dfsg1-7ubuntu0.1","2.1.1+dfsg1-0ubuntu0.18.04.1","2.2.0+dfsg1-0ubuntu0.18.04.1","2.2.0+dfsg1-0ubuntu0.18.04.2","2.2.0+dfsg1-0ubuntu0.18.04.3","2.2.0+dfsg1-0ubuntu0.18.04.4","2.2.0+dfsg1-0ubuntu0.18.04.4+esm1","2.2.0+dfsg1-0ubuntu0.18.04.4+esm2","2.2.0+dfsg1-0ubuntu0.18.04.4+esm3","2.2.0+dfsg1-0ubuntu0.18.04.4+esm4","2.2.0+dfsg1-0ubuntu0.18.04.4+esm5","2.2.0+dfsg1-0ubuntu0.18.04.4+esm6"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"freerdp","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"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.0.0~git20190204.1.2693389a+dfsg1-1","2.0.0~git20190204.1.2693389a+dfsg1-2","2.0.0~git20190204.1.2693389a+dfsg1-2build1","2.0.0~git20190204.1.2693389a+dfsg1-2build2","2.1.1+dfsg1-0ubuntu0.20.04.1","2.2.0+dfsg1-0ubuntu0.20.04.1","2.2.0+dfsg1-0ubuntu0.20.04.2","2.2.0+dfsg1-0ubuntu0.20.04.3","2.2.0+dfsg1-0ubuntu0.20.04.4","2.2.0+dfsg1-0ubuntu0.20.04.5","2.2.0+dfsg1-0ubuntu0.20.04.6","2.6.1+dfsg1-0ubuntu0.20.04.1","2.6.1+dfsg1-0ubuntu0.20.04.2","2.6.1+dfsg1-0ubuntu0.20.04.2+esm1","2.6.1+dfsg1-0ubuntu0.20.04.2+esm2","2.6.1+dfsg1-0ubuntu0.20.04.2+esm3","2.6.1+dfsg1-0ubuntu0.20.04.2+esm4"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.0+dfsg1-2build1","2.3.0+dfsg1-2ubuntu1","2.3.0+dfsg1-2ubuntu2","2.4.1+dfsg1-1","2.4.1+dfsg1-1ubuntu1","2.4.1+dfsg1-1ubuntu2","2.5.0+dfsg1-1","2.6.0+dfsg1-1","2.6.1+dfsg1-1","2.6.1+dfsg1-3","2.6.1+dfsg1-3ubuntu1","2.6.1+dfsg1-3ubuntu2","2.6.1+dfsg1-3ubuntu2.1","2.6.1+dfsg1-3ubuntu2.2","2.6.1+dfsg1-3ubuntu2.3","2.6.1+dfsg1-3ubuntu2.4","2.6.1+dfsg1-3ubuntu2.5","2.6.1+dfsg1-3ubuntu2.6","2.6.1+dfsg1-3ubuntu2.7","2.6.1+dfsg1-3ubuntu2.8","2.6.1+dfsg1-3ubuntu2.9","2.6.1+dfsg1-3ubuntu2.10","2.6.1+dfsg1-3ubuntu2.11"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.1+dfsg1-0ubuntu1.4"}]}],"versions":["3.4.0+dfsg1-0ubuntu2","3.4.0+dfsg1-0ubuntu3","3.4.0+dfsg1-0ubuntu4","3.5.0+dfsg1-0ubuntu1","3.5.1+dfsg1-0ubuntu1","3.5.1+dfsg1-0ubuntu1.1","3.5.1+dfsg1-0ubuntu1.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.0+dfsg1-1.1ubuntu1","2.11.2+dfsg1-1","2.11.2+dfsg1-1build1","2.11.2+dfsg1-1build3","2.11.5+dfsg1-1build1","2.11.5+dfsg1-1build2","2.11.5+dfsg1-1ubuntu0.1~esm1","2.11.5+dfsg1-1ubuntu0.1~esm2","2.11.5+dfsg1-1ubuntu0.1~esm3","2.11.5+dfsg1-1ubuntu0.1~esm4","2.11.5+dfsg1-1ubuntu0.1~esm5","2.11.5+dfsg1-1ubuntu0.1~esm6"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.16.0+dfsg-2ubuntu0.3"}]}],"versions":["3.14.0+dfsg-1ubuntu1","3.15.0+dfsg-2.1","3.16.0+dfsg-1ubuntu1","3.16.0+dfsg-2","3.16.0+dfsg-2ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.1+dfsg1-0ubuntu1.4"}]}],"versions":["3.4.0+dfsg1-0ubuntu2","3.4.0+dfsg1-0ubuntu3","3.4.0+dfsg1-0ubuntu4","3.5.0+dfsg1-0ubuntu1","3.5.1+dfsg1-0ubuntu1","3.5.1+dfsg1-0ubuntu1.1","3.5.1+dfsg1-0ubuntu1.2"],"bundled":32},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.16.0+dfsg-2ubuntu0.3"}]}],"versions":["3.14.0+dfsg-1ubuntu1","3.15.0+dfsg-2.1","3.16.0+dfsg-1ubuntu1","3.16.0+dfsg-2","3.16.0+dfsg-2ubuntu0.1"],"bundled":32},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.24.1-1.1"}]}],"bundled":19},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.7-8.1"}]}],"bundled":8}],"products":[{"vendor":"freerdp","product":"freerdp"}],"references":[{"url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-78q6-67m7-wwf6","tags":["x_refsource_CONFIRM","Exploit","Mitigation","Patch","Vendor Advisory","advisory","report"]},{"url":"https://github.com/FreeRDP/FreeRDP/commit/9362a0bf8dda04eedbca07d5dfaec1044e67cc6b","tags":["x_refsource_MISC","Patch","fix"]},{"url":"https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/channels/rail/client/rail_orders.c#L528","tags":["x_refsource_MISC","Patch","web","report"]},{"url":"https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/channels/rail/client/rail_orders.c#L75-L76","tags":["x_refsource_MISC","Patch","web","report"]},{"url":"https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_rail.c#L1014-L1017","tags":["x_refsource_MISC","Patch","web","report"]},{"url":"https://github.com/FreeRDP/FreeRDP/blob/3370e30e92a021eb680892dda14d642bc8b8727c/client/X11/xf_rail.c#L40-L46","tags":["x_refsource_MISC","Patch","web","report"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-25942","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25942.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25942","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-25942","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0383.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=35315","tags":["report"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.26.0","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.27.0","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.27.1","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.28.0","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.29.0","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.30.0","tags":["web"]},{"url":"https://github.com/FreeRDP/FreeRDP/releases#release-3.31.0","tags":["web"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2439","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25952","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25953","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25954","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27951","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-29774","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-29775","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31884","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31897","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33985","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2440","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2441","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2442","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2540","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20261632-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1258919","tags":["report"]},{"url":"https://bugzilla.suse.com/1258920","tags":["report"]},{"url":"https://bugzilla.suse.com/1258921","tags":["report"]},{"url":"https://bugzilla.suse.com/1258923","tags":["report"]},{"url":"https://bugzilla.suse.com/1258924","tags":["report"]},{"url":"https://bugzilla.suse.com/1258939","tags":["report"]},{"url":"https://bugzilla.suse.com/1258967","tags":["report"]},{"url":"https://bugzilla.suse.com/1258977","tags":["report"]},{"url":"https://bugzilla.suse.com/1258987","tags":["report"]},{"url":"https://bugzilla.suse.com/1259680","tags":["report"]},{"url":"https://bugzilla.suse.com/1259684","tags":["report"]},{"url":"https://bugzilla.suse.com/1259689","tags":["report"]},{"url":"https://bugzilla.suse.com/1259692","tags":["report"]},{"url":"https://bugzilla.suse.com/1259693","tags":["report"]},{"url":"https://bugzilla.suse.com/1261848","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25941","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25942","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25952","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25953","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25954","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25997","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-26986","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-27015","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-27951","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-29774","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-29775","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-29776","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-31884","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-31897","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20261633-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1258941","tags":["report"]},{"url":"https://bugzilla.suse.com/1258973","tags":["report"]},{"url":"https://bugzilla.suse.com/1258976","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25955","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-25959","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-27950","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20261634-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20261635-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20261640-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1259653","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-31806","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202621436-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1258979","tags":["report"]},{"url":"https://bugzilla.suse.com/1258982","tags":["report"]},{"url":"https://bugzilla.suse.com/1258985","tags":["report"]},{"url":"https://bugzilla.suse.com/1259679","tags":["report"]},{"url":"https://bugzilla.suse.com/1259686","tags":["report"]},{"url":"https://bugzilla.suse.com/1261196","tags":["report"]},{"url":"https://bugzilla.suse.com/1261198","tags":["report"]},{"url":"https://bugzilla.suse.com/1261200","tags":["report"]},{"url":"https://bugzilla.suse.com/1261211","tags":["report"]},{"url":"https://bugzilla.suse.com/1261217","tags":["report"]},{"url":"https://bugzilla.suse.com/1261222","tags":["report"]},{"url":"https://bugzilla.suse.com/1261223","tags":["report"]},{"url":"https://bugzilla.suse.com/1261226","tags":["report"]},{"url":"https://bugzilla.suse.com/1261227","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-26271","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-26955","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-26965","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-31883","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-31885","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33952","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33977","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33982","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33983","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33984","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33985","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33986","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33987","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-33995","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-25942","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-25942","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8105-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-22851","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22852","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22853","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22854","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22855","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22856","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22857","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22858","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-22859","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23530","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23531","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23532","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23533","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23534","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23732","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23883","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23884","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25941","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25952","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25953","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25954","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25955","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25959","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-25997","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-26271","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-26955","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-26965","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-26986","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-27015","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-27950","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-27951","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1256721","tags":["report"]},{"url":"https://bugzilla.suse.com/1256723","tags":["report"]},{"url":"https://bugzilla.suse.com/1256943","tags":["report"]},{"url":"https://bugzilla.suse.com/1256945","tags":["report"]},{"url":"https://bugzilla.suse.com/1256946","tags":["report"]},{"url":"https://bugzilla.suse.com/1256947","tags":["report"]},{"url":"https://bugzilla.suse.com/1257981","tags":["report"]},{"url":"https://bugzilla.suse.com/1257991","tags":["report"]},{"url":"https://bugzilla.suse.com/1259251","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22855","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22857","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23533","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23732","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23883","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23884","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24491","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24684","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-25942","title":"FreeRDP has global-buffer-overflow in xf_rail_server_execute_result","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T20:01:16.472Z","modified":"2026-02-26T20:47:09.779Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium","assessor":"cna"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T13:41:19.694734Z"}],"euvd":[{"id":"EUVD-2026-8731","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T20:01:16Z","modified":"2026-02-26T20:47:09Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium"}],"updated_at":"2026-11-02T19:48:14.049749Z"}],"nvd":[{"id":"CVE-2026-25942","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T21:16:41.113Z","modified":"2026-06-17T10:25:28.173Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:12:07.027269Z"}],"osv":[{"id":"ALPINE-CVE-2026-25942","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T21:16:41.113Z","modified":"2026-11-03T06:33:01.90105957Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-03T07:15:53.944853Z"},{"id":"CVE-2026-25942","title":"FreeRDP has global-buffer-overflow in xf_rail_server_execute_result","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T20:01:16.472Z","modified":"2026-10-28T11:09:55.637841767Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T15:44:59.80315Z"},{"id":"DEBIAN-CVE-2026-25942","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T21:16:41.113Z","modified":"2026-10-01T03:03:00.561390963Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:53.877573Z"},{"id":"OESA-2026-2439","title":"freerdp security update","description":"FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft\u0026amp;apos;s open specifications. This package provides the client applications xfreerdp.\r\n\r\nSecurity Fix(es):\n\nA malicious server can trigger a client-side global buffer overflow, causing a crash (denial of service)(CVE-2026-25942)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a heap-use-after-free vulnerability exists in the X11 client backend. Specifically, the `xf_SetWindowMinMaxInfo` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` within `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table. The main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer, leading to a dangling pointer. A malicious server can exploit this to trigger a client-side crash (Denial of Service) and potentially cause heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25952)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_AppUpdateWindowFromSurface` function reads from a freed `xfAppWindow` object. This occurs because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order, resulting in a use-after-free condition. A malicious server can exploit this vulnerability to trigger a client-side heap use-after-free, causing a crash (Denial of Service) and potentially leading to heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25953)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_rail_server_local_move_size` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. A malicious server can trigger this client-side heap use-after-free, causing a crash (Denial of Service) and potential heap corruption with code-execution risk depending on allocator behavior and surrounding heap layout.(CVE-2026-25954)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the function `Stream_EnsureCapacity` contains an integer overflow vulnerability that can create an endless blocking loop. This may affect all client and server implementations using FreeRDP. For practical exploitation, this will only work on 32-bit systems where the available physical memory is greater than or equal to `SIZE_MAX`.(CVE-2026-27951)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client\u0026apos;s AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates.  In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect-\u0026gt;left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect-\u0026gt;top * nDstStep + rect-\u0026gt;left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.(CVE-2026-29774)\n\nFreeRDP contains a heap buffer overflow vulnerability in bitmap_cache_put function where an out-of-bounds cacheId can lead to memory corruption.(CVE-2026-29775)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context-\u0026gt;common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.(CVE-2026-31884)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize \u0026gt;= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.(CVE-2026-31897)\n\nA vulnerability exists in FreeRDP when processing the ClearCodec protocol, involving a desynchronization in glyph cache counts. An attacker can craft a malicious RDP packet, causing a mismatch in glyph cache counts on the client or server side, which triggers a heap out-of-bounds read. Successful exploitation of this vulnerability could lead to information disclosure, application crash, or create conditions for further attacks.(CVE-2026-33985)","status":"published","published":"2026-05-22T11:11:23Z","modified":"2026-08-18T01:19:59.856332146Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2440","title":"freerdp security update","description":"FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft\u0026amp;apos;s open specifications. This package provides the client applications xfreerdp.\r\n\r\nSecurity Fix(es):\n\nA malicious server can trigger a client-side global buffer overflow, causing a crash (denial of service)(CVE-2026-25942)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a heap-use-after-free vulnerability exists in the X11 client backend. Specifically, the `xf_SetWindowMinMaxInfo` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` within `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table. The main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer, leading to a dangling pointer. A malicious server can exploit this to trigger a client-side crash (Denial of Service) and potentially cause heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25952)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_AppUpdateWindowFromSurface` function reads from a freed `xfAppWindow` object. This occurs because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order, resulting in a use-after-free condition. A malicious server can exploit this vulnerability to trigger a client-side heap use-after-free, causing a crash (Denial of Service) and potentially leading to heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25953)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_rail_server_local_move_size` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. A malicious server can trigger this client-side heap use-after-free, causing a crash (Denial of Service) and potential heap corruption with code-execution risk depending on allocator behavior and surrounding heap layout.(CVE-2026-25954)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the function `Stream_EnsureCapacity` contains an integer overflow vulnerability that can create an endless blocking loop. This may affect all client and server implementations using FreeRDP. For practical exploitation, this will only work on 32-bit systems where the available physical memory is greater than or equal to `SIZE_MAX`.(CVE-2026-27951)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client\u0026apos;s AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates.  In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect-\u0026gt;left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect-\u0026gt;top * nDstStep + rect-\u0026gt;left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.(CVE-2026-29774)\n\nFreeRDP contains a heap buffer overflow vulnerability in bitmap_cache_put function where an out-of-bounds cacheId can lead to memory corruption.(CVE-2026-29775)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context-\u0026gt;common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.(CVE-2026-31884)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize \u0026gt;= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.(CVE-2026-31897)\n\nA vulnerability exists in FreeRDP when processing the ClearCodec protocol, involving a desynchronization in glyph cache counts. An attacker can craft a malicious RDP packet, causing a mismatch in glyph cache counts on the client or server side, which triggers a heap out-of-bounds read. Successful exploitation of this vulnerability could lead to information disclosure, application crash, or create conditions for further attacks.(CVE-2026-33985)","status":"published","published":"2026-05-22T11:11:24Z","modified":"2026-08-18T01:20:00.223167872Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2441","title":"freerdp security update","description":"FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft\u0026amp;apos;s open specifications. This package provides the client applications xfreerdp.\r\n\r\nSecurity Fix(es):\n\nA malicious server can trigger a client-side global buffer overflow, causing a crash (denial of service)(CVE-2026-25942)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a heap-use-after-free vulnerability exists in the X11 client backend. Specifically, the `xf_SetWindowMinMaxInfo` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` within `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table. The main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer, leading to a dangling pointer. A malicious server can exploit this to trigger a client-side crash (Denial of Service) and potentially cause heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25952)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_AppUpdateWindowFromSurface` function reads from a freed `xfAppWindow` object. This occurs because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order, resulting in a use-after-free condition. A malicious server can exploit this vulnerability to trigger a client-side heap use-after-free, causing a crash (Denial of Service) and potentially leading to heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25953)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_rail_server_local_move_size` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. A malicious server can trigger this client-side heap use-after-free, causing a crash (Denial of Service) and potential heap corruption with code-execution risk depending on allocator behavior and surrounding heap layout.(CVE-2026-25954)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the function `Stream_EnsureCapacity` contains an integer overflow vulnerability that can create an endless blocking loop. This may affect all client and server implementations using FreeRDP. For practical exploitation, this will only work on 32-bit systems where the available physical memory is greater than or equal to `SIZE_MAX`.(CVE-2026-27951)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client\u0026apos;s AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates.  In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect-\u0026gt;left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect-\u0026gt;top * nDstStep + rect-\u0026gt;left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.(CVE-2026-29774)\n\nFreeRDP contains a heap buffer overflow vulnerability in bitmap_cache_put function where an out-of-bounds cacheId can lead to memory corruption.(CVE-2026-29775)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context-\u0026gt;common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.(CVE-2026-31884)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize \u0026gt;= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.(CVE-2026-31897)\n\nA vulnerability exists in FreeRDP when processing the ClearCodec protocol, involving a desynchronization in glyph cache counts. An attacker can craft a malicious RDP packet, causing a mismatch in glyph cache counts on the client or server side, which triggers a heap out-of-bounds read. Successful exploitation of this vulnerability could lead to information disclosure, application crash, or create conditions for further attacks.(CVE-2026-33985)","status":"published","published":"2026-05-22T11:11:24Z","modified":"2026-08-18T01:20:00.16092108Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2442","title":"freerdp security update","description":"FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft\u0026amp;apos;s open specifications. This package provides the client applications xfreerdp.\r\n\r\nSecurity Fix(es):\n\nA malicious server can trigger a client-side global buffer overflow, causing a crash (denial of service)(CVE-2026-25942)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a heap-use-after-free vulnerability exists in the X11 client backend. Specifically, the `xf_SetWindowMinMaxInfo` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` within `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table. The main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer, leading to a dangling pointer. A malicious server can exploit this to trigger a client-side crash (Denial of Service) and potentially cause heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25952)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_AppUpdateWindowFromSurface` function reads from a freed `xfAppWindow` object. This occurs because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order, resulting in a use-after-free condition. A malicious server can exploit this vulnerability to trigger a client-side heap use-after-free, causing a crash (Denial of Service) and potentially leading to heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25953)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_rail_server_local_move_size` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. A malicious server can trigger this client-side heap use-after-free, causing a crash (Denial of Service) and potential heap corruption with code-execution risk depending on allocator behavior and surrounding heap layout.(CVE-2026-25954)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the function `Stream_EnsureCapacity` contains an integer overflow vulnerability that can create an endless blocking loop. This may affect all client and server implementations using FreeRDP. For practical exploitation, this will only work on 32-bit systems where the available physical memory is greater than or equal to `SIZE_MAX`.(CVE-2026-27951)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client\u0026apos;s AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates.  In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect-\u0026gt;left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect-\u0026gt;top * nDstStep + rect-\u0026gt;left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.(CVE-2026-29774)\n\nFreeRDP contains a heap buffer overflow vulnerability in bitmap_cache_put function where an out-of-bounds cacheId can lead to memory corruption.(CVE-2026-29775)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context-\u0026gt;common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.(CVE-2026-31884)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize \u0026gt;= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.(CVE-2026-31897)\n\nA vulnerability exists in FreeRDP when processing the ClearCodec protocol, involving a desynchronization in glyph cache counts. An attacker can craft a malicious RDP packet, causing a mismatch in glyph cache counts on the client or server side, which triggers a heap out-of-bounds read. Successful exploitation of this vulnerability could lead to information disclosure, application crash, or create conditions for further attacks.(CVE-2026-33985)","status":"published","published":"2026-05-22T11:11:24Z","modified":"2026-08-18T01:19:59.990316898Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2540","title":"freerdp security update","description":"FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft\u0026amp;apos;s open specifications. This package provides the client applications xfreerdp.\r\n\r\nSecurity Fix(es):\n\nA malicious server can trigger a client-side global buffer overflow, causing a crash (denial of service)(CVE-2026-25942)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a heap-use-after-free vulnerability exists in the X11 client backend. Specifically, the `xf_SetWindowMinMaxInfo` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` within `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table. The main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer, leading to a dangling pointer. A malicious server can exploit this to trigger a client-side crash (Denial of Service) and potentially cause heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25952)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_AppUpdateWindowFromSurface` function reads from a freed `xfAppWindow` object. This occurs because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order, resulting in a use-after-free condition. A malicious server can exploit this vulnerability to trigger a client-side heap use-after-free, causing a crash (Denial of Service) and potentially leading to heap corruption with a risk of code execution, depending on allocator behavior and surrounding heap layout.(CVE-2026-25953)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the `xf_rail_server_local_move_size` function dereferences a freed `xfAppWindow` pointer. This occurs because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. A malicious server can trigger this client-side heap use-after-free, causing a crash (Denial of Service) and potential heap corruption with code-execution risk depending on allocator behavior and surrounding heap layout.(CVE-2026-25954)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, the function `Stream_EnsureCapacity` contains an integer overflow vulnerability that can create an endless blocking loop. This may affect all client and server implementations using FreeRDP. For practical exploitation, this will only work on 32-bit systems where the available physical memory is greater than or equal to `SIZE_MAX`.(CVE-2026-27951)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client\u0026apos;s AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates.  In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect-\u0026gt;left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect-\u0026gt;top * nDstStep + rect-\u0026gt;left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.(CVE-2026-29774)\n\nFreeRDP contains a heap buffer overflow vulnerability in bitmap_cache_put function where an out-of-bounds cacheId can lead to memory corruption.(CVE-2026-29775)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context-\u0026gt;common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.(CVE-2026-31884)\n\nFreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize \u0026gt;= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.(CVE-2026-31897)\n\nA vulnerability exists in FreeRDP when processing the ClearCodec protocol, involving a desynchronization in glyph cache counts. An attacker can craft a malicious RDP packet, causing a mismatch in glyph cache counts on the client or server side, which triggers a heap out-of-bounds read. Successful exploitation of this vulnerability could lead to information disclosure, application crash, or create conditions for further attacks.(CVE-2026-33985)","status":"published","published":"2026-05-29T11:11:29Z","modified":"2026-08-18T01:20:02.401322857Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"UBUNTU-CVE-2026-25942","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0–6) with an unchecked `execResult-\u003eexecResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.","status":"published","published":"2026-02-25T21:16:00Z","modified":"2026-06-16T13:30:29.827420633Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T16:56:08.726452Z"},{"id":"MGASA-2026-0383","title":"Updated freerdp packages fix security vulnerabilities","description":"Updated packages bring lot of security fixes. Please see the links for\nadditional information.\n","status":"published","published":"2026-09-08T02:47:35Z","modified":"2026-09-08T12:40:27.9536564Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:10408-1","title":"freerdp-3.24.1-1.1 on GA media","description":"These are all security issues fixed in the freerdp-3.24.1-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-03-23T00:00:00Z","modified":"2026-03-24T08:45:06.811266Z","updated_at":"2026-11-02T16:58:38.415593Z"},{"id":"openSUSE-SU-2026:10611-1","title":"freerdp2-2.11.7-8.1 on GA media","description":"These are all security issues fixed in the freerdp2-2.11.7-8.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-04-25T00:00:00Z","modified":"2026-04-26T09:45:21.808351Z","updated_at":"2026-11-02T16:58:38.415593Z"},{"id":"openSUSE-SU-2026:20632-1","title":"Security update for freerdp2","description":"This update for freerdp2 fixes the following issues:\n\nChanges in freerdp2:\n\n- Update freerdp-3-macro:\n  + Add WINPR_ATTR_MALLOC macro from freerdp 3\n\n- Security fixes for the following issues:\n  * CVE-2026-25941: Fixed a out of bounds read (bsc#1258919)\n  * CVE-2026-25942: Fixed a buffer overflow in xf_rail_server_execute_result() (bsc#1258920)\n  * CVE-2026-27951: Fixed a denial of service in Stream_EnsureCapacity() (bsc#1258939)\n  * CVE-2026-25997: Fixed a use-after-free in xf_clipboard_format_equal() (bsc#1258977)\n  * CVE-2026-26986: Fixed a use-after-free in rail_window_free() (bsc#1258967)\n  * CVE-2026-27015: Fixed a client denial of service via reachable assert (bsc#1258987)\n  * CVE-2026-25952: Fixed a use-after-free in xf_SetWindowMinMaxInfo() (bsc#1258921)\n  * CVE-2026-25953: Fixed a use-after-free in xf_AppUpdateWindowFromSurface() (bsc#1258923)\n  * CVE-2026-25954: Fixed a use-after-free in xf_rail_server_local_move_size() (bsc#1258924)\n  * CVE-2026-24684: Fixed a use-after-free in play_thread() (bsc#1257991).\n  * CVE-2026-26271: Fixed a buffer overread in icon processing (bsc#1258979)\n  * CVE-2026-26955: Fixed a out of bounds write (bsc#1258982)\n  * CVE-2026-26965: Fixed a out of bounds write (bsc#1258985)\n  * CVE-2026-31806: Fixed a buffer overflow via improper validation of server messages (bsc#1259653)\n  * CVE-2026-31883: Fixed a buffer overflow via crafted audio format and wave data (bsc#1259679)\n  * CVE-2026-31885: Fixed a out of bounds read (bsc#1259686)\n  * CVE-2026-24491: Fix use-after-free that was accidentally introduced in the backport (bsc#1257981)\n  * CVE-2026-22855: Fixed a buffer overflow in smartcard_unpack_set_attrib_call() (bsc#1256721)\n  * CVE-2026-22857: Fixed a use-after-free in irp_thread_func() (bsc#1256723)\n  * CVE-2026-23533: Fixed a buffer overflow in clear_decompress_residual_data() (bsc#1256943)\n  * CVE-2026-23732: Fixed a buffer overflow in Glyph_Alloc() (bsc#1256945)\n  * CVE-2026-23883: Fixed a use-after-free (bsc#1256946)\n  * CVE-2026-23884: Fixed a use-after-free in gdi_set_bounds (bsc#1256947)\n","status":"published","published":"2026-04-27T13:16:46Z","modified":"2026-04-29T08:01:31.881823Z","updated_at":"2026-11-02T16:58:41.463445Z"},{"id":"openSUSE-SU-2026:20657-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\nUpdate to version 3.24.2.\n\nSecurity issues fixed:\n\n- CVE-2026-25941: out-of-bounds read in the FreeRDP client RDPGFX channel (bsc#1258919).\n- CVE-2026-25942: buffer overflow of global array in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: heap use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: heap use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: heap use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25955: heap use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258973).\n- CVE-2026-25959: heap use-after-free in `xf_cliprdr_provide_data_` (bsc#1258976).\n- CVE-2026-25997: heap use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26271: buffer overread in FreeRDP icon processing (bsc#1258979).\n- CVE-2026-26955: out-of-bounds write in FreeRDP clients using the GDI surface pipeline (bsc#1258982).\n- CVE-2026-26965: out-of-bounds write in FreeRDP client RLE planar decode path (bsc#1258985).\n- CVE-2026-29774: heap buffer overflow in the FreeRDP client's AVC420/AVC444 YUV-to-RGB conversion path (bsc#1259689).\n- CVE-2026-29775: out-of-bounds access in the FreeRDP client bitmap cache subsystem (bsc#1259684).\n- CVE-2026-29776: integer underflow in `update_read_cache_bitmap_order` (bsc#1259692).\n- CVE-2026-31806: heap buffer overflow in `nsc_process_message` (bsc#1259653).\n- CVE-2026-31883: heap buffer overwrite due to a `size_t` underflow in the IMA-ADPCM and MS-ADPCM audio decoders\n  (bsc#1259679).\n- CVE-2026-31884: division by zero in MS-ADPCM and IMA-ADPCM decoders (bsc#1259680).\n- CVE-2026-31885: out-of-bounds read in MS-ADPCM and IMA-ADPCM decoders (bsc#1259686).\n- CVE-2026-31897: out-of-bounds read in `freerdp_bitmap_decompress_planar` (bsc#1259693).\n- CVE-2026-33952: client-side crash due to `WINPR_ASSERT()` failure in `rts_read_auth_verifier_no_checks()`\n  (bsc#1261196).\n- CVE-2026-33977: client-side crash due to `WINPR_ASSERT()` failure in IMA ADPCM audio decoder (bsc#1261198).\n- CVE-2026-33982: heap buffer overread in in `winpr_aligned_offset_recalloc` (bsc#1261222).\n- CVE-2026-33983: undefined behavior and resource exhaustion via 80 billion iteration loop in\n  `progressive_decompress_tile_upgrade` (bsc#1261200).\n- CVE-2026-33984: heap buffer overflow in ClearCodec `resize_vbar_entry` (bsc#1261211).\n- CVE-2026-33985: heap out-of-bounds read in `clear_decompress_glyph_data` (bsc#1261217).\n- CVE-2026-33986: heap out-of-bounds write due to H.264 YUV buffer dimension desync (bsc#1261223).\n- CVE-2026-33987: heap out-of-bounds write due to persistent cache bmpSize desync (bsc#1261226).\n- CVE-2026-33995: double-free vulnerability in `kerberos_AcceptSecurityContext` and\n  `kerberos_InitializeSecurityContextA` (bsc#1261227).\n\nOther updates and bugfixes:\n\n- Version 3.24.2:\n  * [channels,video] fix wrong cast (#12511)\n  * [codec,openh264] reject encoder ABI mismatch on runtime-loaded library (#12510)\n  * [client,sdl] create a copy of rdpPointer (#12512)\n  * [codec,video] properly pass intermediate format (#12518)\n  * [utils, signal] lazily initialize Windows CRITICAL_SECTION to match POSIX static mutex behavior (#12520) winpr:\n    improve libunwind backtraces (#12530)\n  * [server,shadow] remember selected caps (#12528)\n  * Zero credential data before free in NLA and NTLM context (#12532)\n  * [server,proxy] ignore missing client in input channel (#12536)\n  * [server,proxy] ignore rdpdr messages (#12537)\n  * [winpr,sspi] improve kerberos logging (#12538)\n  * Codec fixes (#12542)\n\n- Version 3.24.1:\n  * [warnings] fix various sign and cast warnings (#12480)\n  * [client,x11] start with xfc-\u003eremote_app = TRUE; (#12491)\n  * Sam file read regression fix (#12484)\n  * [ncrypt,smartcardlogon] support ECC keys in PKCS#11 smartcard enumeration (#12490)\n  * Fix: memory leak in rdp_client_establish_keys() (#12494)\n  * Fix memory leak in freerdp_settings_int_buffer_copy() on error paths (libfreerdp/core/settings.c) (#12486)\n  * Code Cleanups (#12493)\n  * Fix: memory leak in PCSC_SCardListReadersW() (#12495)\n  * [channels,telemetry] use dynamic logging (#12496)\n  * [channel,gfx] use generic plugin log (@12498, #12499)\n  * [channels,audin] set error when audio_format_read fails (#12500)\n  * [channels,video] unify error handling (#12502)\n  * Fastpath fine grained lock (#12503)\n  * [core,update] make the PlaySound callback non-mandatory (#12504)\n  * Refinements: RPM build updates, FIPS improvements (#12506)\n\n- Version 3.24.0:\n  * Completed the [[nodiscard]] marking of the API to warn about problematic\n  * unchecked use of functions\n  * Added full C23 support (default stays at C11) to allow new compilers\n  * to do stricter checking\n  * Improved X11 and SDL3 clients\n  * Improved smartcard support\n  * proxy now supports RFX graphics mode\n  * Attribute nodiscard related chanes (#12325, #12360, #12395, #12406, #12421, #12426, #12177, #12403, #12405, #12407,\n    #12409, #12408, #12412, #12413)\n  * c23 related improvements (#12368, #12371, #12379, #12381, #12383, #12385, #12386, #12387, #12384)\n  * Generic code cleanups (#12382, #12439, #12455, #12462, #12399, #12473) [core,utils] ignore NULL values in\n    remove_rdpdr_type (#12372)\n  * [codec,fdk] revert use of WinPR types (#12373)\n  * [core,gateway] ignore incomplete rpc header (#12375, #12376)\n  * [warnings] make function declaration names consistent (#12377)\n  * [libfreerdp] Add new define for logon error info (#12380)\n  * [client,x11] improve rails window locking (#12392)\n  * Reload fix missing null checks (#12396)\n  * Bounds checks (#12400)\n  * [server,proxy] check for nullptr before using scard_call_context (#12404)\n  * [uwac] fix rectangular glitch around surface damage regions (#12410)\n  * Address various error handling inconsistencies (#12411)\n  * [core,server] Improve WTS API locking (#12414)\n  * Address some GCC compile issues (#12415, #12420)\n  * Winpr atexit (#12416)\n  * [winpr,smartcard] fix function pointer casts (#12422)\n  * Xf timer fix (#12423)\n  * [client,sdl] workaround for wlroots compositors (#12425)\n  * [client,sdl] fix SdlWindow::query (#12378)\n  * [winpr,smartcard] fix PCSC_ReleaseCardContext (#12427)\n  * [client,x11] eliminate obsolete compile flags (#12428)\n  * [client,common] skip sending input events when not connected (#12429)\n  * Input connected checks (#12430)\n  * Floatbar and display channel improvements (#12431)\n  * [winpr,platform] fix WINPR_ATTR_NODISCARD definition (#12432)\n  * [client] Fix writing of gatewayusagemethod to .rdp files (#12433)\n  * Nodiscard finetune (#12435)\n  * [core] fix missing gateway credential sync (#12436)\n  * [client,sdl3] limit FREERDP_WLROOTS_HACK (#12441)\n  * [core,settings] Allow FreeRDP_instance in setter (#12442)\n  * [codec,h264] make log message trace (#12444)\n  * X11 rails improve (#12440)\n  * [codec,nsc] limit copy area in nsc_process_message (#12448)\n  * Proxy support RFX and NSC settings (#12449)\n  * [client,common] display a shortened help on parsing issues (#12450)\n  * [winpr,smartcard] refine locking for pcsc layer (#12451)\n  * [codec,swscale] allow runtime loading of swscale (#12452)\n  * Swscale fallback (#12454)\n  * Sdl multi scaling support (#12456)\n  * [packaging,flatpak] update runtime and dependencies (#12457)\n  * [codec,video] add doxygen version details (#12458)\n  * [github,templates] update templates (#12460)\n  * [client,sdl] allow FREERDP_WLROOTS_HACK for all sessions (#12461)\n  * [warnings,nodiscard] add log messages for failures (#12463)\n  * [gdi,gdi] ignore empty rectangles (#12467)\n  * Smartcard fix smartcard-login, pass rdpContext for abort (#12466)\n  * [winpr,smartcard] fix compiler warnings (#12469)\n  * [winpr,timezone] fix search for transition dates (#12468)\n  * [client,common] improve /p help (#12471)\n  * Scard logging refactored (#12472)\n  * [emu,scard] fix smartcard emulation (#12475)\n  * Sdl null cursor (#12474)\n\n- Version 3.23.0:\n  * Sdl cleanup (#12202)\n  * [client,sdl] do not apply window offset (#12205)\n  * [client,sdl] add SDL_Error to exceptions (#12214)\n  * Rdp monitor log (#12215)\n  * [winpr,smartcard] implement some attributes (#12213)\n  * [client,windows] Fix return value checks for mouse event functions (#12279)\n  * [channels,rdpecam] fix sws context checks (#12272)\n  * [client,windows] Enhance error handling and context validation (#12264)\n  * [client,windows] Add window handle validation in RDP_EVENT_TYPE_WINDOW_NEW (#12261)\n  * [client,sdl] fix multimon/fullscreen on wayland (#12248)\n  * Vendor by app (#12207)\n  * [core,gateway] relax TSG parsing (#12283)\n  * [winpr,smartcard] simplify PCSC_ReadDeviceSystemName (#12273)\n  * [client,windows] Implement complete keyboard indicator synchronization (#12268)\n  * Fixes more more more (#12286)\n  * Use application details for names (#12285)\n  * warning cleanups (#12289)\n  * Warning cleanup (#12291)\n  * [client,windows] Enhance memory safety with NULL checks and resource protection (#12271)\n  * [client,x11] apply /size:xx% only once (#12293)\n  * Freerdp config test (#12295)\n  * [winpr,smartcard] fix returned attribute length (#12296)\n  * [client,SDL3] Fix properly handle smart-sizing with fullscreen (#12298)\n  * [core,test] fix use after free (#12299)\n  * Sign warnings (#12300)\n  * [cmake,compiler] disable -Wjump-misses-init (#12301)\n  * [codec,color] fix input length checks (#12302)\n  * [client,sdl] improve cursor updates, fix surface sizes (#12303)\n  * Sdl fullscreen (#12217)\n  * [client,sdl] fix move constructor of SdlWindow (#12305)\n  * [utils,smartcard] check stream length on padding (#12306)\n  * [android] Fix invert scrolling default value mismatch (#12309)\n  * Clear fix bounds checks (#12310)\n  * Winpr attr nodiscard fkt ptr (#12311)\n  * [codec,planar] fix missing destination bounds checks (#12312)\n  * [codec,clear] fix destination checks (#12315)\n  * NSC Codec fixes (#12317)\n  * Freerdp api nodiscard (#12313)\n  * [allocations] fix growth of preallocated buffers (#12319)\n  * Rdpdr simplify (#12320)\n  * Resource fix (#12323)\n  * [winpr,utils] ensure message queue capacity (#12322)\n  * [server,shadow] fix return and parameter checks (#12330)\n  * Shadow fixes (#12331)\n  * [rdtk,nodiscard] mark rdtk API nodiscard (#12329)\n  * [client,x11] fix XGetWindowProperty return handling (#12334)\n  * Win32 signal (#12335)\n  * [channel,usb] fix message parsing and creation (#12336)\n  * [cmake] Define WINPR_DEFINE_ATTR_NODISCARD (#12338)\n  * Proxy config fix (#12345)\n  * [codec,progressive] refine progressive decoding (#12347)\n  * [client,sdl] fix sdl_Pointer_New (#12350)\n  * [core,gateway] parse [MS-TSGU] 2.2.10.5 HTTP_CHANNEL_RESPONSE_OPTIONAL (#12353)\n  * X11 kbd sym (#12354)\n  * Windows compile warning fixes (#12357,#12358,#12359)\n","status":"published","published":"2026-04-30T16:54:03Z","modified":"2026-05-05T18:23:59.134007Z","updated_at":"2026-11-02T16:58:41.463445Z"},{"id":"SUSE-SU-2026:1632-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\n- CVE-2026-25941: Out-of-Bounds Read in client RDPGFX channel via crafted `WIRE_TO_SURFACE_2` PDU (bsc#1258919).\n- CVE-2026-25942: Global-buffer-overflow in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: Heap-use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: Heap-use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25997: Heap-use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26986: Heap-use-after-free in `rail_window_free` (bsc#1258967).\n- CVE-2026-27015: Smartcard NDR alignment padding triggers reachable `WINPR_ASSERT` abort (bsc#1258987).\n- CVE-2026-27951: Denial of service via endless blocking loop in `Stream_EnsureCapacity` (bsc#1258939).\n- CVE-2026-29774: Missing bounds validation can cause a client-side heap buffer overflow (bsc#1259689).\n- CVE-2026-29775: Malicious server can trigger a client-side heap out-of-bounds access (bsc#1259684).\n- CVE-2026-29776: Missing length check can lead to an integer underflow (bsc#1259692).\n- CVE-2026-31897: Missing length check can cause an out-of-bounds read (bsc#1259693).\n","status":"published","published":"2026-04-27T12:04:30Z","modified":"2026-04-28T08:00:16.399333Z","updated_at":"2026-11-02T15:54:01.610851Z"},{"id":"SUSE-SU-2026:1633-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\n- CVE-2026-25941: Out-of-Bounds Read in client RDPGFX channel via crafted `WIRE_TO_SURFACE_2` PDU (bsc#1258919).\n- CVE-2026-25942: Global-buffer-overflow in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: Heap-use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: Heap-use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25955: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258973).\n- CVE-2026-25959: Heap-use-after-free in `xf_cliprdr_provide_data_` (bsc#1258976).\n- CVE-2026-25997: Heap-use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26986: Heap-use-after-free in `rail_window_free` (bsc#1258967).\n- CVE-2026-27015: Smartcard NDR alignment padding triggers reachable `WINPR_ASSERT` abort (bsc#1258987).\n- CVE-2026-27950: Denial of service due to incomplete fix for heap-use-after-free vulnerability (bsc#1258941).\n- CVE-2026-27951: Denial of service via endless blocking loop in `Stream_EnsureCapacity` (bsc#1258939).\n- CVE-2026-29774: Missing bounds validation can cause a client-side heap buffer overflow (bsc#1259689).\n- CVE-2026-29775: Malicious server can trigger a client-side heap out-of-bounds access (bsc#1259684).\n- CVE-2026-29776: Missing length check can lead to an integer underflow (bsc#1259692).\n- CVE-2026-31897: Missing length check can cause an out-of-bounds read (bsc#1259693).\n","status":"published","published":"2026-04-27T12:05:30Z","modified":"2026-04-28T08:00:19.590001Z","updated_at":"2026-11-02T15:54:01.610851Z"},{"id":"SUSE-SU-2026:1634-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\n- CVE-2026-25941: Out-of-Bounds Read in client RDPGFX channel via crafted `WIRE_TO_SURFACE_2` PDU (bsc#1258919).\n- CVE-2026-25942: Global-buffer-overflow in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: Heap-use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: Heap-use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25997: Heap-use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26986: Heap-use-after-free in `rail_window_free` (bsc#1258967).\n- CVE-2026-27015: Smartcard NDR alignment padding triggers reachable `WINPR_ASSERT` abort (bsc#1258987).\n- CVE-2026-27951: Denial of service via endless blocking loop in `Stream_EnsureCapacity` (bsc#1258939).\n- CVE-2026-29774: Missing bounds validation can cause a client-side heap buffer overflow (bsc#1259689).\n- CVE-2026-29775: Malicious server can trigger a client-side heap out-of-bounds access (bsc#1259684).\n- CVE-2026-29776: Missing length check can lead to an integer underflow (bsc#1259692).\n- CVE-2026-31897: Missing length check can cause an out-of-bounds read (bsc#1259693).\n","status":"published","published":"2026-04-27T12:06:21Z","modified":"2026-04-28T08:00:23.918274Z","updated_at":"2026-11-02T15:54:01.610851Z"},{"id":"SUSE-SU-2026:1635-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\n- CVE-2026-25941: Out-of-Bounds Read in client RDPGFX channel via crafted `WIRE_TO_SURFACE_2` PDU (bsc#1258919).\n- CVE-2026-25942: Global-buffer-overflow in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: Heap-use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: Heap-use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25997: Heap-use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26986: Heap-use-after-free in `rail_window_free` (bsc#1258967).\n- CVE-2026-27015: Smartcard NDR alignment padding triggers reachable `WINPR_ASSERT` abort (bsc#1258987).\n- CVE-2026-27951: Denial of service via endless blocking loop in `Stream_EnsureCapacity` (bsc#1258939).\n- CVE-2026-29774: Missing bounds validation can cause a client-side heap buffer overflow (bsc#1259689).\n- CVE-2026-29775: Malicious server can trigger a client-side heap out-of-bounds access (bsc#1259684).\n- CVE-2026-29776: Missing length check can lead to an integer underflow (bsc#1259692).\n- CVE-2026-31897: Missing length check can cause an out-of-bounds read (bsc#1259693).\n","status":"published","published":"2026-04-27T12:06:35Z","modified":"2026-04-28T08:00:34.527946Z","updated_at":"2026-11-02T15:54:01.610851Z"},{"id":"SUSE-SU-2026:1640-1","title":"Security update for freerdp2","description":"This update for freerdp2 fixes the following issues:\n\n- CVE-2026-25941: Out-of-Bounds Read in client RDPGFX channel via crafted `WIRE_TO_SURFACE_2` PDU (bsc#1258919).\n- CVE-2026-25942: Global-buffer-overflow in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: Heap-use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: Heap-use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: Heap-use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25997: Heap-use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26986: Heap-use-after-free in `rail_window_free` (bsc#1258967).\n- CVE-2026-27015: Smartcard NDR alignment padding triggers reachable `WINPR_ASSERT` abort (bsc#1258987).\n- CVE-2026-27951: Denial of Service via endless blocking loop in `Stream_EnsureCapacity` (bsc#1258939).\n- CVE-2026-29774: Missing bounds validation can cause a client-side heap buffer overflow (bsc#1259689).\n- CVE-2026-29775: Malicious server can trigger a client-side heap out-of-bounds access (bsc#1259684).\n- CVE-2026-29776: Missing length check can lead to an integer underflow (bsc#1259692).\n- CVE-2026-31897: Missing length check can cause an out-of-bounds read (bsc#1259693).\n","status":"published","published":"2026-04-28T11:33:58Z","modified":"2026-04-29T08:01:14.531232Z","updated_at":"2026-11-02T15:54:01.610851Z"},{"id":"SUSE-SU-2026:21436-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\nUpdate to version 3.24.2.\n\nSecurity issues fixed:\n\n- CVE-2026-25941: out-of-bounds read in the FreeRDP client RDPGFX channel (bsc#1258919).\n- CVE-2026-25942: buffer overflow of global array in `xf_rail_server_execute_result` (bsc#1258920).\n- CVE-2026-25952: heap use-after-free in `xf_SetWindowMinMaxInfo` (bsc#1258921).\n- CVE-2026-25953: heap use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258923).\n- CVE-2026-25954: heap use-after-free in `xf_rail_server_local_move_size` (bsc#1258924).\n- CVE-2026-25955: heap use-after-free in `xf_AppUpdateWindowFromSurface` (bsc#1258973).\n- CVE-2026-25959: heap use-after-free in `xf_cliprdr_provide_data_` (bsc#1258976).\n- CVE-2026-25997: heap use-after-free in `xf_clipboard_format_equal` (bsc#1258977).\n- CVE-2026-26271: buffer overread in FreeRDP icon processing (bsc#1258979).\n- CVE-2026-26955: out-of-bounds write in FreeRDP clients using the GDI surface pipeline (bsc#1258982).\n- CVE-2026-26965: out-of-bounds write in FreeRDP client RLE planar decode path (bsc#1258985).\n- CVE-2026-29774: heap buffer overflow in the FreeRDP client's AVC420/AVC444 YUV-to-RGB conversion path (bsc#1259689).\n- CVE-2026-29775: out-of-bounds access in the FreeRDP client bitmap cache subsystem (bsc#1259684).\n- CVE-2026-29776: integer underflow in `update_read_cache_bitmap_order` (bsc#1259692).\n- CVE-2026-31806: heap buffer overflow in `nsc_process_message` (bsc#1259653).\n- CVE-2026-31883: heap buffer overwrite due to a `size_t` underflow in the IMA-ADPCM and MS-ADPCM audio decoders\n  (bsc#1259679).\n- CVE-2026-31884: division by zero in MS-ADPCM and IMA-ADPCM decoders (bsc#1259680).\n- CVE-2026-31885: out-of-bounds read in MS-ADPCM and IMA-ADPCM decoders (bsc#1259686).\n- CVE-2026-31897: out-of-bounds read in `freerdp_bitmap_decompress_planar` (bsc#1259693).\n- CVE-2026-33952: client-side crash due to `WINPR_ASSERT()` failure in `rts_read_auth_verifier_no_checks()`\n  (bsc#1261196).\n- CVE-2026-33977: client-side crash due to `WINPR_ASSERT()` failure in IMA ADPCM audio decoder (bsc#1261198).\n- CVE-2026-33982: heap buffer overread in in `winpr_aligned_offset_recalloc` (bsc#1261222).\n- CVE-2026-33983: undefined behavior and resource exhaustion via 80 billion iteration loop in\n  `progressive_decompress_tile_upgrade` (bsc#1261200).\n- CVE-2026-33984: heap buffer overflow in ClearCodec `resize_vbar_entry` (bsc#1261211).\n- CVE-2026-33985: heap out-of-bounds read in `clear_decompress_glyph_data` (bsc#1261217).\n- CVE-2026-33986: heap out-of-bounds write due to H.264 YUV buffer dimension desync (bsc#1261223).\n- CVE-2026-33987: heap out-of-bounds write due to persistent cache bmpSize desync (bsc#1261226).\n- CVE-2026-33995: double-free vulnerability in `kerberos_AcceptSecurityContext` and\n  `kerberos_InitializeSecurityContextA` (bsc#1261227).\n\nOther updates and bugfixes:\n\n- Version 3.24.2:\n  * [channels,video] fix wrong cast (#12511)\n  * [codec,openh264] reject encoder ABI mismatch on runtime-loaded library (#12510)\n  * [client,sdl] create a copy of rdpPointer (#12512)\n  * [codec,video] properly pass intermediate format (#12518)\n  * [utils, signal] lazily initialize Windows CRITICAL_SECTION to match POSIX static mutex behavior (#12520) winpr:\n    improve libunwind backtraces (#12530)\n  * [server,shadow] remember selected caps (#12528)\n  * Zero credential data before free in NLA and NTLM context (#12532)\n  * [server,proxy] ignore missing client in input channel (#12536)\n  * [server,proxy] ignore rdpdr messages (#12537)\n  * [winpr,sspi] improve kerberos logging (#12538)\n  * Codec fixes (#12542)\n\n- Version 3.24.1:\n  * [warnings] fix various sign and cast warnings (#12480)\n  * [client,x11] start with xfc-\u003eremote_app = TRUE; (#12491)\n  * Sam file read regression fix (#12484)\n  * [ncrypt,smartcardlogon] support ECC keys in PKCS#11 smartcard enumeration (#12490)\n  * Fix: memory leak in rdp_client_establish_keys() (#12494)\n  * Fix memory leak in freerdp_settings_int_buffer_copy() on error paths (libfreerdp/core/settings.c) (#12486)\n  * Code Cleanups (#12493)\n  * Fix: memory leak in PCSC_SCardListReadersW() (#12495)\n  * [channels,telemetry] use dynamic logging (#12496)\n  * [channel,gfx] use generic plugin log (@12498, #12499)\n  * [channels,audin] set error when audio_format_read fails (#12500)\n  * [channels,video] unify error handling (#12502)\n  * Fastpath fine grained lock (#12503)\n  * [core,update] make the PlaySound callback non-mandatory (#12504)\n  * Refinements: RPM build updates, FIPS improvements (#12506)\n\n- Version 3.24.0:\n  * Completed the [[nodiscard]] marking of the API to warn about problematic\n  * unchecked use of functions\n  * Added full C23 support (default stays at C11) to allow new compilers\n  * to do stricter checking\n  * Improved X11 and SDL3 clients\n  * Improved smartcard support\n  * proxy now supports RFX graphics mode\n  * Attribute nodiscard related chanes (#12325, #12360, #12395, #12406, #12421, #12426, #12177, #12403, #12405, #12407,\n    #12409, #12408, #12412, #12413)\n  * c23 related improvements (#12368, #12371, #12379, #12381, #12383, #12385, #12386, #12387, #12384)\n  * Generic code cleanups (#12382, #12439, #12455, #12462, #12399, #12473) [core,utils] ignore NULL values in\n    remove_rdpdr_type (#12372)\n  * [codec,fdk] revert use of WinPR types (#12373)\n  * [core,gateway] ignore incomplete rpc header (#12375, #12376)\n  * [warnings] make function declaration names consistent (#12377)\n  * [libfreerdp] Add new define for logon error info (#12380)\n  * [client,x11] improve rails window locking (#12392)\n  * Reload fix missing null checks (#12396)\n  * Bounds checks (#12400)\n  * [server,proxy] check for nullptr before using scard_call_context (#12404)\n  * [uwac] fix rectangular glitch around surface damage regions (#12410)\n  * Address various error handling inconsistencies (#12411)\n  * [core,server] Improve WTS API locking (#12414)\n  * Address some GCC compile issues (#12415, #12420)\n  * Winpr atexit (#12416)\n  * [winpr,smartcard] fix function pointer casts (#12422)\n  * Xf timer fix (#12423)\n  * [client,sdl] workaround for wlroots compositors (#12425)\n  * [client,sdl] fix SdlWindow::query (#12378)\n  * [winpr,smartcard] fix PCSC_ReleaseCardContext (#12427)\n  * [client,x11] eliminate obsolete compile flags (#12428)\n  * [client,common] skip sending input events when not connected (#12429)\n  * Input connected checks (#12430)\n  * Floatbar and display channel improvements (#12431)\n  * [winpr,platform] fix WINPR_ATTR_NODISCARD definition (#12432)\n  * [client] Fix writing of gatewayusagemethod to .rdp files (#12433)\n  * Nodiscard finetune (#12435)\n  * [core] fix missing gateway credential sync (#12436)\n  * [client,sdl3] limit FREERDP_WLROOTS_HACK (#12441)\n  * [core,settings] Allow FreeRDP_instance in setter (#12442)\n  * [codec,h264] make log message trace (#12444)\n  * X11 rails improve (#12440)\n  * [codec,nsc] limit copy area in nsc_process_message (#12448)\n  * Proxy support RFX and NSC settings (#12449)\n  * [client,common] display a shortened help on parsing issues (#12450)\n  * [winpr,smartcard] refine locking for pcsc layer (#12451)\n  * [codec,swscale] allow runtime loading of swscale (#12452)\n  * Swscale fallback (#12454)\n  * Sdl multi scaling support (#12456)\n  * [packaging,flatpak] update runtime and dependencies (#12457)\n  * [codec,video] add doxygen version details (#12458)\n  * [github,templates] update templates (#12460)\n  * [client,sdl] allow FREERDP_WLROOTS_HACK for all sessions (#12461)\n  * [warnings,nodiscard] add log messages for failures (#12463)\n  * [gdi,gdi] ignore empty rectangles (#12467)\n  * Smartcard fix smartcard-login, pass rdpContext for abort (#12466)\n  * [winpr,smartcard] fix compiler warnings (#12469)\n  * [winpr,timezone] fix search for transition dates (#12468)\n  * [client,common] improve /p help (#12471)\n  * Scard logging refactored (#12472)\n  * [emu,scard] fix smartcard emulation (#12475)\n  * Sdl null cursor (#12474)\n\n- Version 3.23.0:\n  * Sdl cleanup (#12202)\n  * [client,sdl] do not apply window offset (#12205)\n  * [client,sdl] add SDL_Error to exceptions (#12214)\n  * Rdp monitor log (#12215)\n  * [winpr,smartcard] implement some attributes (#12213)\n  * [client,windows] Fix return value checks for mouse event functions (#12279)\n  * [channels,rdpecam] fix sws context checks (#12272)\n  * [client,windows] Enhance error handling and context validation (#12264)\n  * [client,windows] Add window handle validation in RDP_EVENT_TYPE_WINDOW_NEW (#12261)\n  * [client,sdl] fix multimon/fullscreen on wayland (#12248)\n  * Vendor by app (#12207)\n  * [core,gateway] relax TSG parsing (#12283)\n  * [winpr,smartcard] simplify PCSC_ReadDeviceSystemName (#12273)\n  * [client,windows] Implement complete keyboard indicator synchronization (#12268)\n  * Fixes more more more (#12286)\n  * Use application details for names (#12285)\n  * warning cleanups (#12289)\n  * Warning cleanup (#12291)\n  * [client,windows] Enhance memory safety with NULL checks and resource protection (#12271)\n  * [client,x11] apply /size:xx% only once (#12293)\n  * Freerdp config test (#12295)\n  * [winpr,smartcard] fix returned attribute length (#12296)\n  * [client,SDL3] Fix properly handle smart-sizing with fullscreen (#12298)\n  * [core,test] fix use after free (#12299)\n  * Sign warnings (#12300)\n  * [cmake,compiler] disable -Wjump-misses-init (#12301)\n  * [codec,color] fix input length checks (#12302)\n  * [client,sdl] improve cursor updates, fix surface sizes (#12303)\n  * Sdl fullscreen (#12217)\n  * [client,sdl] fix move constructor of SdlWindow (#12305)\n  * [utils,smartcard] check stream length on padding (#12306)\n  * [android] Fix invert scrolling default value mismatch (#12309)\n  * Clear fix bounds checks (#12310)\n  * Winpr attr nodiscard fkt ptr (#12311)\n  * [codec,planar] fix missing destination bounds checks (#12312)\n  * [codec,clear] fix destination checks (#12315)\n  * NSC Codec fixes (#12317)\n  * Freerdp api nodiscard (#12313)\n  * [allocations] fix growth of preallocated buffers (#12319)\n  * Rdpdr simplify (#12320)\n  * Resource fix (#12323)\n  * [winpr,utils] ensure message queue capacity (#12322)\n  * [server,shadow] fix return and parameter checks (#12330)\n  * Shadow fixes (#12331)\n  * [rdtk,nodiscard] mark rdtk API nodiscard (#12329)\n  * [client,x11] fix XGetWindowProperty return handling (#12334)\n  * Win32 signal (#12335)\n  * [channel,usb] fix message parsing and creation (#12336)\n  * [cmake] Define WINPR_DEFINE_ATTR_NODISCARD (#12338)\n  * Proxy config fix (#12345)\n  * [codec,progressive] refine progressive decoding (#12347)\n  * [client,sdl] fix sdl_Pointer_New (#12350)\n  * [core,gateway] parse [MS-TSGU] 2.2.10.5 HTTP_CHANNEL_RESPONSE_OPTIONAL (#12353)\n  * X11 kbd sym (#12354)\n  * Windows compile warning fixes (#12357,#12358,#12359)\n","status":"published","published":"2026-04-30T16:54:05Z","modified":"2026-05-05T18:23:52.45993Z","updated_at":"2026-11-02T15:54:02.312556Z"},{"id":"USN-8105-1","title":"freerdp3 vulnerabilities","description":"It was discovered that FreeRDP incorrectly handled certain RDP packets. A\nremote attacker could use this issue to cause FreeRDP to crash, resulting\nin a denial of service, or possibly execute arbitrary code.","status":"published","published":"2026-03-18T12:03:18Z","modified":"2026-10-27T04:16:54.424890397Z","updated_at":"2026-11-02T16:58:22.951676Z"}]}}
