CVE-2026-31884 json
FreeRDP has a division-by-zero in ADPCM decoders when `nBlockAlign` is 0
published 2026-03-13 7 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-12062
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
Summary
FreeRDP 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->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.
Patch / fix
- freerdp freerdp 3.24.0
- freerdp3 Debian 13 3.15.0+dfsg-2.1+deb13u2
- freerdp3 Debian 14 3.24.0+dfsg-1
debian advisories DEBIAN-CVE-2026-31884
- freerdp3 Ubuntu 24.04 LTS 3.30.0+dfsg-0ubuntu0.24.04.1
ubuntu advisories UBUNTU-CVE-2026-31884
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- freerdp RHEL 9 2:2.11.7-7.el9_8.3
- libwinpr RHEL 9 2:2.11.7-7.el9_8.3
- freerdp-libs RHEL 9 2:2.11.7-7.el9_8.3
- freerdp RHEL 10.2 2:3.10.3-12.el10_2.5
- libwinpr RHEL 10.2 2:3.10.3-12.el10_2.5
- freerdp-libs RHEL 10.2 2:3.10.3-12.el10_2.5
- freerdp-server RHEL 10.2 2:3.10.3-12.el10_2.5
- freerdp RHEL 9 2:2.11.7-1.el9_7.7
red hat advisories RHSA-2026:20605RHSA-2026:20546RHSA-2026:19811RHSA-2026:19358RHSA-2026:19142RHSA-2026:16866
- freerdp openSUSE Tumbleweed 3.24.1-1.1
opensuse advisories openSUSE-SU-2026:10408-1
- freerdp AlmaLinux 9 2:2.11.7-7.el9_8.3
- libwinpr AlmaLinux 9 2:2.11.7-7.el9_8.3
- freerdp-libs AlmaLinux 9 2:2.11.7-7.el9_8.3
- freerdp AlmaLinux 9 2:2.11.7-1.el9_7.7
- libwinpr AlmaLinux 9 2:2.11.7-1.el9_7.7
- freerdp-libs AlmaLinux 9 2:2.11.7-1.el9_7.7
- freerdp AlmaLinux 10 2:3.10.3-5.el10_1.8
- libwinpr AlmaLinux 10 2:3.10.3-5.el10_1.8
almalinux advisories ALSA-2026:19358ALSA-2026:16482ALSA-2026:16014ALSA-2026:16019
- freerdp Rocky Linux 10 2:3.10.3-12.el10_2.5
- freerdp Rocky Linux 9 2:2.11.7-7.el9_8.3
- freerdp Rocky Linux 9 2:2.11.7-1.el9_7.7
- freerdp Rocky Linux 10 2:3.10.3-5.el10_1.8
- freerdp Rocky Linux 8 2:2.11.7-9.el8_10
rocky linux advisories RLSA-2026:19142RLSA-2026:19358RLSA-2026:16482RLSA-2026:16014RLSA-2026:16019
- freerdp Alpine 3.24, Alpine 3.23 3.24.0-r0
alpine advisories ALPINE-CVE-2026-31884
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-31884 updated cvss 6.5
freerdp: FreeRDP has a division-by-zero in ADPCM decoders when `nBlockAlign` is 0
-
Red Hat Enterprise Linux 6 freerdp, freerdp-libs, freerdp-pluginsaffected: workaround, no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder EUS (v.9.4) freerdp-devel 2.11.2-1.el9_4.8, libwinpr-devel 2.11.2-1.el9_4.8, freerdp-debuginfo 2.11.2-1.el9_4.8, libwinpr-debuginfo 2.11.2-1.el9_4.8, freerdp-debugsource 2.11.2-1.el9_4.8, freerdp-libs-debuginfo 2.11.2-1.el9_4.8fixed: vendor fix RHSA-2026:16866
-
Red Hat CodeReady Linux Builder EUS (v.9.6) freerdp-devel 2.11.7-1.el9_6.10, libwinpr-devel 2.11.7-1.el9_6.10, freerdp-debuginfo 2.11.7-1.el9_6.10, libwinpr-debuginfo 2.11.7-1.el9_6.10, freerdp-debugsource 2.11.7-1.el9_6.10, freerdp-libs-debuginfo 2.11.7-1.el9_6.10fixed: vendor fix RHSA-2026:16865
-
Red Hat Enterprise Linux AppStream (v. 8) freerdp 2.11.7-9.el8_10, libwinpr 2.11.7-9.el8_10, freerdp-libs 2.11.7-9.el8_10fixed: vendor fix RHSA-2026:16019
-
Red Hat Enterprise Linux AppStream (v. 9) freerdp 2.11.7-1.el9_7.7, freerdp 2.11.7-7.el9_8.3, libwinpr 2.11.7-1.el9_7.7, libwinpr 2.11.7-7.el9_8.3, freerdp-libs 2.11.7-1.el9_7.7, freerdp-libs 2.11.7-7.el9_8.3fixed: vendor fix RHSA-2026:16482
-
Red Hat Enterprise Linux AppStream (v. 10) freerdp 3.10.3-5.el10_1.8, freerdp 3.10.3-12.el10_2.5, libwinpr 3.10.3-5.el10_1.8, libwinpr 3.10.3-12.el10_2.5, freerdp-libs 3.10.3-5.el10_1.8, freerdp-libs 3.10.3-12.el10_2.5fixed: vendor fix RHSA-2026:16014
-
Red Hat Enterprise Linux AppStream AUS (v.8.4) freerdp 2.2.0-14.el8_4, libwinpr 2.2.0-14.el8_4, freerdp-libs 2.2.0-14.el8_4fixed: vendor fix RHSA-2026:19811
-
Red Hat Enterprise Linux AppStream AUS (v.8.6) freerdp 2.2.0-7.el8_6.8, libwinpr 2.2.0-7.el8_6.8, freerdp-libs 2.2.0-7.el8_6.8 Red Hat Enterprise Linux AppStream E4S (v.8.6) freerdp 2.2.0-7.el8_6.8, libwinpr 2.2.0-7.el8_6.8, freerdp-libs 2.2.0-7.el8_6.8fixed: vendor fix RHSA-2026:16814
show 14 moreshow fewer
-
Red Hat Enterprise Linux AppStream E4S (v.8.8) freerdp 2.2.0-12.el8_8.8, libwinpr 2.2.0-12.el8_8.8, freerdp-libs 2.2.0-12.el8_8.8fixed: vendor fix RHSA-2026:16777
-
Red Hat Enterprise Linux AppStream E4S (v.9.0) freerdp 2.4.1-3.el9_0.7, libwinpr 2.4.1-3.el9_0.7, freerdp-libs 2.4.1-3.el9_0.7fixed: vendor fix RHSA-2026:16485
-
Red Hat Enterprise Linux AppStream E4S (v.9.2) freerdp 2.4.1-6.el9_2.9, libwinpr 2.4.1-6.el9_2.9, freerdp-libs 2.4.1-6.el9_2.9fixed: vendor fix RHSA-2026:16483
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) freerdp 3.10.3-3.el10_0.7, libwinpr 3.10.3-3.el10_0.7, freerdp-libs 3.10.3-3.el10_0.7fixed: vendor fix RHSA-2026:20605
-
Red Hat Enterprise Linux AppStream EUS (v.9.4) freerdp 2.11.2-1.el9_4.8, libwinpr 2.11.2-1.el9_4.8, freerdp-libs 2.11.2-1.el9_4.8fixed: vendor fix RHSA-2026:16866
-
Red Hat Enterprise Linux AppStream EUS (v.9.6) freerdp 2.11.7-1.el9_6.10, libwinpr 2.11.7-1.el9_6.10, freerdp-libs 2.11.7-1.el9_6.10fixed: vendor fix RHSA-2026:16865
-
Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) freerdp 2.2.0-14.el8_4, libwinpr 2.2.0-14.el8_4, freerdp-libs 2.2.0-14.el8_4fixed: vendor fix RHSA-2026:19811
-
Red Hat Enterprise Linux AppStream TUS (v.8.6) freerdp 2.2.0-7.el8_6.8, libwinpr 2.2.0-7.el8_6.8, freerdp-libs 2.2.0-7.el8_6.8fixed: vendor fix RHSA-2026:16814
-
Red Hat Enterprise Linux AppStream TUS (v.8.8) freerdp 2.2.0-12.el8_8.8, libwinpr 2.2.0-12.el8_8.8, freerdp-libs 2.2.0-12.el8_8.8fixed: vendor fix RHSA-2026:16777
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) freerdp-devel 2.11.7-1.el9_7.7, freerdp-devel 2.11.7-7.el9_8.3, libwinpr-devel 2.11.7-1.el9_7.7, libwinpr-devel 2.11.7-7.el9_8.3, freerdp-debuginfo 2.11.7-1.el9_7.7, freerdp-debuginfo 2.11.7-7.el9_8.3, +6 morefixed: vendor fix RHSA-2026:16482
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) freerdp-server 3.10.3-5.el10_1.8, freerdp-server 3.10.3-12.el10_2.5fixed: vendor fix RHSA-2026:16014
-
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) freerdp-server 3.10.3-3.el10_0.7fixed: vendor fix RHSA-2026:20605
-
Red Hat Enterprise Linux CRB (v. 8) freerdp-devel 2.11.7-9.el8_10, freerdp-debuginfo 2.11.7-9.el8_10, libwinpr-debuginfo 2.11.7-9.el8_10, freerdp-debugsource 2.11.7-9.el8_10, freerdp-libs-debuginfo 2.11.7-9.el8_10fixed: vendor fix RHSA-2026:16019
-
Red Hat Enterprise Linux Server (v. 7 ELS) freerdp 2.1.1-5.el7_9.9, libwinpr 2.1.1-5.el7_9.9, freerdp-libs 2.1.1-5.el7_9.9 Red Hat Enterprise Linux Server Optional (v. 7 ELS) freerdp-devel 2.1.1-5.el7_9.9, libwinpr-devel 2.1.1-5.el7_9.9, freerdp-debuginfo 2.1.1-5.el7_9.9fixed: vendor fix RHSA-2026:20546
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.36% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-jp7m-94ww-p56r referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected products
- FreeRDP FreeRDP
Classification
- Weakness
-
- CWE-369 Divide By Zero
References
Sources
- CVE List CVE-2026-31884
- NVD CVE-2026-31884
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.