{"id":"CVE-2026-24677","aliases":["ALPINE-CVE-2026-24677","DEBIAN-CVE-2026-24677","EUVD-2026-6483","GHSA-xw37-j744-f8v7","MGASA-2026-0046","SUSE-SU-2026:0763-1","UBUNTU-CVE-2026-24677","USN-8042-1","openSUSE-SU-2026:10132-1","openSUSE-SU-2026:20339-1"],"status":"published","title":"FreeRDP has a heap-buffer-overflow in ecam_encoder_compress_h264","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","severity":{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00547,"percentile":0.46199,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-416"],"published":"2026-02-03T00:00:00Z","modified":"2026-11-03T06:32:53Z","fixes":[{"ecosystem":"Alpine:v3.23","package":"freerdp","fixed_in":["3.22.0-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"freerdp","fixed_in":["3.22.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.22.0+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:25.10","package":"freerdp3","fixed_in":["3.16.0+dfsg-2ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.23","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.22.0-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.22.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.22.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~bpo13+0","3.22.0+dfsg-1~bpo13+1"]},{"source":"osv","ecosystem":"Mageia:9","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.7-1.2.mga9"}]}],"bundled":17},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Package Hub 15 SP7","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.3-150700.3.6.1"}]}],"bundled":11},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Workstation Extension 15 SP7","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.3-150700.3.6.1"}]}],"bundled":11},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.16.0+dfsg-2ubuntu0.1"}]}],"versions":["3.14.0+dfsg-1ubuntu1","3.15.0+dfsg-2.1","3.16.0+dfsg-1ubuntu1","3.16.0+dfsg-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.0+dfsg1-0ubuntu0.18.04.4+esm5"}]}],"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"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.1+dfsg1-0ubuntu0.20.04.2+esm3"}]}],"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"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.1+dfsg1-3ubuntu2.10"}]}],"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"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.1+dfsg1-0ubuntu1.2"}]}],"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"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"freerdp2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.5+dfsg1-1ubuntu0.1~esm5"}]}],"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"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"freerdp3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.16.0+dfsg-2ubuntu0.1"}]}],"versions":["3.14.0+dfsg-1ubuntu1","3.15.0+dfsg-2.1","3.16.0+dfsg-1ubuntu1","3.16.0+dfsg-2"],"bundled":12},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.22.0-1.1"}]}],"bundled":12},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"freerdp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.22.0-160000.1.1"}]}],"bundled":44}],"products":[{"vendor":"freerdp","product":"freerdp"}],"references":[{"url":"https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-xw37-j744-f8v7","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory"]},{"url":"https://github.com/FreeRDP/FreeRDP/commit/d2d4f449312ddafd4a4c6c8a4f856c7f0d44a3b5","tags":["x_refsource_MISC","Patch","fix","report"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-24677","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/24xxx/CVE-2026-24677.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-24677","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-24677","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0046.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=35038","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/message/3PECP75D65BGMOXX4VA6VFZW5A365UOB/","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/02/09/8","tags":["web"]},{"url":"https://www.openwall.com/lists/oss-security/2026/02/10/1","tags":["web"]},{"url":"https://ubuntu.com/security/notices/USN-8004-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-8042-1","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20260763-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1257981","tags":["report"]},{"url":"https://bugzilla.suse.com/1257982","tags":["report"]},{"url":"https://bugzilla.suse.com/1257983","tags":["report"]},{"url":"https://bugzilla.suse.com/1257984","tags":["report"]},{"url":"https://bugzilla.suse.com/1257985","tags":["report"]},{"url":"https://bugzilla.suse.com/1257986","tags":["report"]},{"url":"https://bugzilla.suse.com/1257987","tags":["report"]},{"url":"https://bugzilla.suse.com/1257988","tags":["report"]},{"url":"https://bugzilla.suse.com/1257989","tags":["report"]},{"url":"https://bugzilla.suse.com/1257990","tags":["report"]},{"url":"https://bugzilla.suse.com/1257991","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24491","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24675","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24676","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24677","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24678","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24679","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24680","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24681","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24682","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24683","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24684","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-24677","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-24677","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-23948","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24491","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24675","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24676","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24678","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24679","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24680","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24681","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24682","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24683","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-24684","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23948","tags":["web"]},{"url":"https://bugzilla.suse.com/1214869","tags":["report"]},{"url":"https://bugzilla.suse.com/1214870","tags":["report"]},{"url":"https://bugzilla.suse.com/1214871","tags":["report"]},{"url":"https://bugzilla.suse.com/1219049","tags":["report"]},{"url":"https://bugzilla.suse.com/1223293","tags":["report"]},{"url":"https://bugzilla.suse.com/1223294","tags":["report"]},{"url":"https://bugzilla.suse.com/1223295","tags":["report"]},{"url":"https://bugzilla.suse.com/1223296","tags":["report"]},{"url":"https://bugzilla.suse.com/1223297","tags":["report"]},{"url":"https://bugzilla.suse.com/1223298","tags":["report"]},{"url":"https://bugzilla.suse.com/1223346","tags":["report"]},{"url":"https://bugzilla.suse.com/1223347","tags":["report"]},{"url":"https://bugzilla.suse.com/1223348","tags":["report"]},{"url":"https://bugzilla.suse.com/1223353","tags":["report"]},{"url":"https://bugzilla.suse.com/1243109","tags":["report"]},{"url":"https://bugzilla.suse.com/1256717","tags":["report"]},{"url":"https://bugzilla.suse.com/1256718","tags":["report"]},{"url":"https://bugzilla.suse.com/1256719","tags":["report"]},{"url":"https://bugzilla.suse.com/1256720","tags":["report"]},{"url":"https://bugzilla.suse.com/1256721","tags":["report"]},{"url":"https://bugzilla.suse.com/1256722","tags":["report"]},{"url":"https://bugzilla.suse.com/1256723","tags":["report"]},{"url":"https://bugzilla.suse.com/1256724","tags":["report"]},{"url":"https://bugzilla.suse.com/1256725","tags":["report"]},{"url":"https://bugzilla.suse.com/1256940","tags":["report"]},{"url":"https://bugzilla.suse.com/1256941","tags":["report"]},{"url":"https://bugzilla.suse.com/1256942","tags":["report"]},{"url":"https://bugzilla.suse.com/1256943","tags":["report"]},{"url":"https://bugzilla.suse.com/1256944","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://www.suse.com/security/cve/CVE-2023-40574","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-40575","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-40576","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-22211","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32039","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32040","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32041","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32458","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32459","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32460","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32658","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32659","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32660","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-32661","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2025-4478","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22851","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22852","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22853","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22854","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22855","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22856","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22857","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22858","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-22859","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23530","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23531","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23532","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23533","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-23534","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"]}],"sources":{"cve":[{"id":"CVE-2026-24677","title":"FreeRDP has a heap-buffer-overflow in ecam_encoder_compress_h264","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T18:16:44.715Z","modified":"2026-02-10T16:02:18.82Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:19:50.92611Z"}],"euvd":[{"id":"EUVD-2026-6483","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T18:16:44Z","modified":"2026-02-10T16:02:18Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T19:48:42.087959Z"}],"nvd":[{"id":"CVE-2026-24677","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T19:15:49.043Z","modified":"2026-06-17T10:23:24.323Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/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":"high","assessor":"secondary"},{"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","assessor":"primary"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T14:12:05.52517Z"}],"osv":[{"id":"ALPINE-CVE-2026-24677","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T19:15:49.043Z","modified":"2026-11-03T06:32:53.231249705Z","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-03T07:16:26.770911Z"},{"id":"CVE-2026-24677","title":"FreeRDP has a heap-buffer-overflow in ecam_encoder_compress_h264","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T18:16:44.715Z","modified":"2026-10-28T11:10:08.454918677Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T15:44:59.438965Z"},{"id":"DEBIAN-CVE-2026-24677","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T19:15:49.043Z","modified":"2026-10-01T03:03:21.301388548Z","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:45:53.877573Z"},{"id":"UBUNTU-CVE-2026-24677","description":"FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.22.0, ecam_encoder_compress_h264 trusts server-controlled dimensions and does not validate the source buffer size, leading to an out-of-bounds read in sws_scale. This vulnerability is fixed in 3.22.0.","status":"published","published":"2026-02-09T19:15:00Z","modified":"2026-04-22T16:26:30.048919Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"},{"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-02T16:56:08.726452Z"},{"id":"MGASA-2026-0046","title":"Updated freerdp packages fix security vulnerabilities","description":"FreeRDP has heap-buffer-overflow in planar_decompress_plane_rle.\n(CVE-2026-23530)\nFreeRDP has heap-buffer-overflow in clear_decompress. (CVE-2026-23531)\nFreeRDP has heap-buffer-overflow in gdi_SurfaceToSurface.\n(CVE-2026-23532)\nFreeRDP has heap-buffer-overflow in clear_decompress_residual_data.\n(CVE-2026-23533)\nFreeRDP has heap-buffer-overflow in clear_decompress_bands_data.\n(CVE-2026-23534)\nFreeRDP has a NULL Pointer Dereference in rdp_write_logon_info_v2().\n(CVE-2026-23948)\nFreeRDP has a heap-use-after-free in video_timer. (CVE-2026-24491)\nFreeRDP has a Heap-use-after-free in urb_select_interface.\n(CVE-2026-24675)\nFreeRDP has a heap-use-after-free in audio_format_compatible.\n(CVE-2026-24676)\nFreeRDP has a heap-buffer-overflow in ecam_encoder_compress_h264.\n(CVE-2026-24677)\nFreeRDP has a Heap-use-after-free in cam_v4l_stream_capture_thread.\n(CVE-2026-24678)\nFreeRDP has a heap-buffer-overflow in urb_select_interface.\n(CVE-2026-24679)\nFreeRDP has a heap-use-after-free in update_pointer_new(SDL).\n(CVE-2026-24680)\nFreeRDP has a heap-use-after-free in urb_bulk_transfer_cb.\n(CVE-2026-24681)\nFreeRDP has a Heap-buffer-overflow in audio_formats_free.\n(CVE-2026-24682)\nFreeRDP has a heap-use-after-free in ainput_send_input_event.\n(CVE-2026-24683)\nFreeRDP has a Heap-use-after-free in play_thread. (CVE-2026-24684)\n","status":"published","published":"2026-02-22T00:53:38Z","modified":"2026-04-16T04:41:39.68877655Z","updated_at":"2026-11-02T15:49:43.178336Z"},{"id":"openSUSE-SU-2026:10132-1","title":"freerdp-3.22.0-1.1 on GA media","description":"These are all security issues fixed in the freerdp-3.22.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-02-03T00:00:00Z","modified":"2026-03-23T04:54:29.83946Z","updated_at":"2026-11-02T16:58:38.101535Z"},{"id":"openSUSE-SU-2026:20339-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\nUpdate to version 3.22.0 (jsc#PED-15526):\n\n  + Major bugfix release:\n\n    * Complete overhaul of SDL client\n    * Introduction of new WINPR_ATTR_NODISCARD macro wrapping compiler or C language version specific [[nodiscard]] attributes\n    * Addition of WINPR_ATTR_NODISCARD to (some) public API functions so usage errors are producing warnings now\n    * Add some more stringify functions for logging\n    * We've received CVE reports, check\n      https://github.com/FreeRDP/FreeRDP/security/advisories for more details!\n      @Keryer reported an issue affecting client and proxy:\n      * CVE-2026-23948\n      @ehdgks0627 did some more fuzzying and found quite a number of client side bugs.\n      * CVE-2026-24682\n      * CVE-2026-24683\n      * CVE-2026-24676\n      * CVE-2026-24677\n      * CVE-2026-24678\n      * CVE-2026-24684\n      * CVE-2026-24679\n      * CVE-2026-24681\n      * CVE-2026-24675\n      * CVE-2026-24491\n      * CVE-2026-24680\n\n- Changes from version 3.21.0\n\n  * [core,info] fix missing NULL check (#12157)\n  * [gateway,tsg] fix TSG_PACKET_RESPONSE parsing (#12161)\n  * Allow querying auth identity with kerberos when running as a server (#12162)\n  * Sspi krb heimdal (#12163)\n  * Tsg fix idleTimeout parsing (#12167)\n  * [channels,smartcard] revert 649f7de (#12166)\n  * [crypto] deprecate er and der modules (#12170)\n  * [channels,rdpei] lock full update, not only parts (#12175)\n  * [winpr,platform] add WINPR_ATTR_NODISCARD macro (#12178)\n  * Wlog cleanup (#12179)\n  * new stringify functions \u0026 touch API defines (#12180)\n  * Add support for querying SECPKG_ATTR_PACKAGE_INFO to NTLM and Kerberos (#12171)\n  * [channels,video] measure times in ns (#12184)\n  * [utils] Nodiscard (#12187)\n  * Error handling fixes (#12186)\n  * [channels,drdynvc] check pointer before reset (#12189)\n  * Winpr api def (#12190)\n  * [winpr,platform] drop C23 [[nodiscard]] (#12192)\n  * [gdi] add additional checks for a valid rdpGdi (#12194)\n  * Sdl3 high dpiv2 (#12173)\n  * peer: Disconnect if Logon() returned FALSE (#12196)\n  * [channels,rdpecam] fix PROPERTY_DESCRIPTION parsing (#12197)\n  * [channel,rdpsnd] only clean up thread before free (#12199)\n  * [channels,rdpei] add RDPINPUT_CONTACT_FLAG_UP (#12195)\n\n- Update to version 3.21.0:\n\n  + Bugfix release with a few new API functions addressing shortcomings with\n    regard to input data validation.\n    Thanks to @ehdgks0627 we have fixed the following additional (medium)\n    client side vulnerabilities:\n\n    * CVE-2026-23530\n    * CVE-2026-23531\n    * CVE-2026-23532\n    * CVE-2026-23533\n    * CVE-2026-23534\n    * CVE-2026-23732\n    * CVE-2026-23883\n    * CVE-2026-23884\n\n- Changes from version 3.20.2\n\n  * [client,sdl] fix monitor resolution (#12142)\n  * [codec,progressive] fix progressive_rfx_upgrade_block (#12143)\n  * Krb cache fix (#12145)\n  * Rdpdr improved checks (#12141)\n  * Codec advanced length checks (#12146)\n  * Glyph fix length checks (#12151)\n  * Wlog printf format string checks (#12150)\n  * [warnings,format] fix format string warnings (#12152)\n  * Double free fixes (#12153)\n  * [clang-tidy] clean up code warnings (#12154)\n\n- Update to version 3.20.2:\n\n  + Patch release fixing a regression with gateway connections\n    introduced with 3.20.1\n    ## What's Changed\n    * Warnings and missing enumeration types (#12137)\n\n- Changes from version 3.20.1:\n\n  + New years cleanup release. Fixes some issues reported and does\n    a cleaning sweep to bring down warnings.\n    Thanks to @ehdgks0627 doing some code review/testing we've\n    uncovered the following (medium) vulnerabilities:\n\n    * CVE-2026-22851\n    * CVE-2026-22852\n    * CVE-2026-22853\n    * CVE-2026-22854\n    * CVE-2026-22855\n    * CVE-2026-22856\n    * CVE-2026-22857\n    * CVE-2026-22858\n    * CVE-2026-22859\n\n  + These affect FreeRDP based clients only, with the exception of\n    CVE-2026-22858 also affecting FreeRDP proxy. FreeRDP based\n    servers are not affected.\n\n- Update to version 3.20.0:\n\n  * Mingw fixes (#12070)\n  * [crypto,certificate_data] add some hostname sanitation\n  * [client,common]: Fix loading of rdpsnd channel\n  * [client,sdl] set touch and pen hints\n\n- Changes from version 3.19.1:\n\n  * [core,transport] improve SSL error logging\n  * [utils,helpers] fix freerdp_settings_get_legacy_config_path\n  * From stdin and sdl-creds improve\n  * [crypto,certificate] sanitize hostnames\n  * [channels,drdynvc] propagate error in dynamic channel\n  * [CMake] make Mbed-TLS and LibreSSL experimental\n  * Json fix\n  * rdpecam: send sample only if it's available\n  * [channels,rdpecam] allow MJPEG frame skip and direct passthrough\n  * [winpr,utils] explicit NULL checks in jansson WINPR_JSON_ParseWithLength\n\n- Changes from version 3.19.0:\n\n  * [client,common] fix retry counter\n  * [cmake] fix aarch64 neon detection\n  * Fix response body existence check when using RDP Gateway\n  * fix line clipping issue\n  * Clip coord fix\n  * [core,input] Add debug log to keyboard state sync\n  * Update command line usage for gateway option\n  * [codec,ffmpeg] 8.0 dropped AV_PROFILE_AAC_MAIN\n  * [channels,audin] fix pulse memory leak\n  * [channels,drive] Small performance improvements in drive channel\n  * [winpr,utils] fix command line error logging\n  * [common,test] Adjust AVC and H264 expectations\n  * drdynvc: implement compressed packet\n  * [channels,rdpecam] improve log messages\n  * Fix remote credential guard channel loading\n  * Fix inverted ifdef\n  * [core,nego] disable all enabled modes except the one requested\n  * rdpear: handle basic NTLM commands and fix server-side\n  * [smartcardlogon] Fix off-by-one error in `smartcard_hw_enumerateCerts`\n  * rdpecam: fix camera sample grabbing\n\n- Update to version 3.18.0:\n\n  + Fix a regression reading passwords from stdin\n  + Fix a timer regression (µs instead of ms)\n  + Improved multitouch support\n  + Fix a bug with PLANAR codec (used with /bpp:32 or sometimes with /gfx)\n  + Better error handling for ARM transport (Entra)\n  + Fix audio encoder lag (microphone/AAC) with FFMPEG\n  + Support for janssen JSON library\n\n- Update to version 3.17.2:\n\n  + Minor improvements and bugfix release.\n  + Most notably resource usage (file handles) has been greatly reduced and\n    static build pkg-config have been fixed.\n    For users of xfreerdp RAILS/RemoteApp mode the switch to DesktopSession\n    mode has been fixed (working UAC screen)\n\n- Changes from version 3.17.1\n\n  + Minor improvements and bugfix release.\n    * most notably a memory leak was addressed\n    * fixed header files missing C++ guards\n    * xfreerdp as well as the SDL clients now support a system wide configuration file\n    * Heimdal kerberos support was improved\n    * builds with [MS-RDPEAR] now properly abort at configure if Heimdal is used\n      (this configuration was never supported, so ensure nobody compiles it that way)\n\n- Enable openh264 support, we can build against the noopenh264 stub\n\n- Update to 3.17.0:\n\n  * [client,sdl2] fix build with webview (#11685)\n  * [core,nla] use wcslen for password length (#11687)\n  * Clear channel error prior to call channel init event proc (#11688)\n  * Warn args (#11689)\n  * [client,common] fix -mouse-motion (#11690)\n  * [core,proxy] fix IPv4 and IPv6 length (#11692)\n  * Regression fix2 (#11696)\n  * Log fixes (#11693)\n  * [common,settings] fix int casts (#11699)\n  * [core,connection] fix log level of several messages (#11697)\n  * [client,sdl] print current video driver (#11701)\n  * [crypto,tls] print big warning for /cert:ignore (#11704)\n  * [client,desktop] fix StartupWMClass setting (#11708)\n  * [cmake] unify version creation (#11711)\n  * [common,settings] force reallocation on caps copy (#11715)\n  * [manpages] Add example of keyboard remapping (#11718)\n  * Some fixes in Negotiate and NLA (#11722)\n  * [client,x11] fix clipboard issues (#11724)\n  * kerberos: do various tries for TGT retrieval in u2u (#11723)\n  * Cmdline escape strings (#11735)\n  * [winpr,utils] do not log command line arguments (#11736)\n  * [api,doc] Add stylesheed for doxygen (#11738)\n  * [core,proxy] fix BIO read methods (#11739)\n  * [client,common] fix sso_mib_get_access_token return value in error case (#11741)\n  * [crypto,tls] do not use context-\u003esettings-\u003einstance (#11749)\n  * winpr: re-introduce the credentials module (#11734)\n  * [winpr,timezone] ensure thread-safe initialization (#11754)\n  * core/redirection: Ensure stream has enough space for the certificate (#11762)\n  * [client,common] do not log success (#11766)\n  * Clean up bugs exposed on systems with high core counts (#11761)\n  * [cmake] add installWithRPATH (#11747)\n  * [clang-tidy] fix various warnings (#11769)\n  * Wlog improve type checks (#11774)\n  * [client,common] fix tenantid command line parsing (#11779)\n  * Proxy module static and shared linking support (#11768)\n  * LoadLibrary Null fix (#11786)\n  * [client,common] add freerdp_client_populate_settings_from_rdp_file_un… (#11780)\n  * Fullchain support (#11787)\n  * [client,x11] ignore floatbar events (#11771)\n  * [winpr,credentials] prefer utf-8 over utf-16-LE #11790\n  * [proxy,modules] ignore bitmap-filter skip remaining #11789\n\n- Update to 3.16.0:\n  * Lots of improvements for the SDL3 client\n  * Various X11 client improvements\n  * Add a timer implementation\n  * Various AAD/Azure/Entra improvements\n  * YUV420 primitives fixes\n- Update to 3.15.0:\n  * [client,sdl] fix crash on suppress output\n  * [channels,remdesk] fix possible memory leak\n  * [client,x11] map exit code success\n  * Hidef rail checks and deprecation fixe\n  * Standard rdp security network issues\n  * [core,rdp] fix check for SEC_FLAGSHI_VALID\n  * [core,caps] fix rdp_apply_order_capability_set\n  * [core,proxy] align no_proxy to curl\n  * [core,gateway] fix string reading for TSG\n  * [client,sdl] refactor display update\n\n- Update to version 3.14.0:\n\n  + Bugfix and cleanup release. Due to some new API functions the\n    minor version has been increased.\n\n- Changes from version 3.13.0:\n\n  + Friends of old hardware rejoice, serial port redirection got an\n    update (not kidding you)\n  + Android builds have been updated to be usable again\n  + Mingw builds now periodically do a shared and static build\n  + Fixed some bugs and regressions along the way and improved test\n    coverage as well\n\n- Changes from version 3.12.0:\n\n  + Multimonitor backward compatibility fixes\n  + Smartcard compatibility\n  + Improve the [MS-RDPECAM] support\n  + Improve smartcard redirection support\n  + Refactor SSE optimizations: Split headers, unify load/store,\n    require SSE3 for all optimized functions\n  + Refactors the CMake build to better support configuration based\n    builders\n  + Fix a few regressions from last release (USB redirection and\n    graphical glitches)\n\n- Changes from version 3.11.0:\n\n  + A new release with bugfixes and code cleanups as well as a few\n    nifty little features\n\n- CVE-2024-22211: In affected versions an integer overflow in\n    `freerdp_bitmap_planar_context_reset` leads to heap-buffer\n    overflow. (bsc#1219049)\n\n- CVE-2024-32658: Fixedout-of-bounds read in Interleaved RLE Bitmap Codec in FreeRDP based clients (bsc#1223353)\n\n- Multiple CVE fixes\n  + CVE-2024-32659: Fixed out-of-bounds read if `((nWidth == 0) and (nHeight == 0))`(bsc#1223346)\n  + CVE-2024-32660: Fixed client crash via invalid huge allocation size (bsc#1223347)\n  + CVE-2024-32661: Fixed client NULL pointer dereference (bsc#1223348)\n\n- Multiple CVE fixes:\n    * bsc#1223293, CVE-2024-32039\n    * bsc#1223294, CVE-2024-32040\n    * bsc#1223295, CVE-2024-32041\n    * bsc#1223296, CVE-2024-32458\n    * bsc#1223297, CVE-2024-32459\n    * bsc#1223298, CVE-2024-32460\n\n  * Fix CVE-2023-40574 - bsc#1214869: Out-Of-Bounds Write in general_YUV444ToRGB_8u_P3AC4R_BGRX\n  * Fix CVE-2023-40575 - bsc#1214870: Out-Of-Bounds Read in general_YUV444ToRGB_8u_P3AC4R_BGRX\n  * Fix CVE-2023-40576 - bsc#1214871: Out-Of-Bounds Read in RleDecompress\n","status":"published","published":"2026-03-10T12:34:56Z","modified":"2026-03-23T04:54:51.488216Z","updated_at":"2026-11-02T16:58:41.463445Z"},{"id":"SUSE-SU-2026:0763-1","title":"Security update for freerdp","description":"This update for freerdp fixes the following issues:\n\n- CVE-2026-24491: heap-use-after-free in video_timer (bsc#1257981).\n- CVE-2026-24675: heap-use-after-free in urb_select_interface (bsc#1257982).\n- CVE-2026-24676: heap-use-after-free in audio_format_compatible (bsc#1257983).\n- CVE-2026-24677: heap-buffer-overflow in ecam_encoder_compress_h264 (bsc#1257984).\n- CVE-2026-24678: heap-use-after-free in cam_v4l_stream_capture_thread (bsc#1257985).\n- CVE-2026-24679: heap-buffer-overflow in urb_select_interface (bsc#1257986).\n- CVE-2026-24680: heap-use-after-free in update_pointer_new(SDL) (bsc#1257987).\n- CVE-2026-24681: heap-use-after-free in urb_bulk_transfer_cb (bsc#1257988).\n- CVE-2026-24682: heap-buffer-overflow in audio_formats_free (bsc#1257989).\n- CVE-2026-24683: heap-use-after-free in ainput_send_input_event (bsc#1257990).\n- CVE-2026-24684: heap-use-after-free in play_thread (bsc#1257991).\n","status":"published","published":"2026-03-03T12:49:14Z","modified":"2026-03-04T22:16:57.313447Z","updated_at":"2026-11-02T15:54:01.262144Z"},{"id":"USN-8042-1","title":"freerdp2, freerdp3 vulnerabilities","description":"It was discovered that FreeRDP incorrectly handled memory under certain\ncircumstances, which could lead to a NULL pointer dereference. An\nattacker could possibly use this issue to cause a denial of service.\n(CVE-2026-23948)\n\nIt was discovered that FreeRDP did not correctly validate the size of\ncertain variables, which could cause a buffer overflow. An attacker could\npossibly use this issue to cause a denial of service or execute arbitrary\ncode. This issue only affected FreeRDP3 in Ubuntu 24.04 LTS and Ubuntu\n25.10. (CVE-2026-24491)\n\nIt was discovered that FreeRDP did not correctly validate the size of\ncertain variables, which could cause a buffer overflow. An attacker could\npossibly use this issue to cause a denial of service or execute arbitrary\ncode. (CVE-2026-24675, CVE-2026-24679, CVE-2026-24682)\n\nIt was discovered that FreeRDP had a use after free vulnerability under\ncertain circumstances. An attacker could use this to cause a denial of\nservice or possibly execute arbitrary code. (CVE-2026-24676,\nCVE-2026-24681)\n\nIt was discovered that FreeRDP did not correctly validate the size of\ncertain variables, which could cause a buffer overflow. An attacker could\npossibly use this issue to cause a denial of service or execute arbitrary\ncode. This issue only affected Ubuntu 25.10. (CVE-2026-24677)\n\nIt was discovered that FreeRDP had a use after free vulnerability under\ncertain circumstances. An attacker could use this to cause a denial of\nservice or possibly execute arbitrary code. This issue only affected\nUbuntu 25.10. (CVE-2026-24678)\n\nIt was discovered that FreeRDP had a use after free vulnerability under\ncertain circumstances. An attacker could use this to cause a denial of\nservice or possibly execute arbitrary code. This issue only affected\nFreeRDP3 in Ubuntu 24.04 LTS and Ubuntu 25.10. (CVE-2026-24680)\n\nIt was discovered that FreeRDP had a use after free vulnerability under\ncertain circumstances. An attacker could use this to cause a denial of\nservice or possibly execute arbitrary code. This issue only affected\nUbuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and Ubuntu 25.10.\n(CVE-2026-24683, CVE-2026-24684)","status":"published","published":"2026-02-16T10:04:47Z","modified":"2026-10-27T04:16:50.248286275Z","updated_at":"2026-11-02T16:58:22.951676Z"}]}}
