CVE-2026-31806

CRITICALNVD 9.89.8—
EchelonGraph scoreMEDIUM confidence

This critical-severity CVE scores 9.8 under NVD CVSS v3. EPSS exploit probability: 0.7%, top 52% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, nvd
9.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.7%CVSS: 9.8Exploit: None knownExposed services: Not assessed

A fix is available — apply it.

FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, the gdi_surface_bits() function processes SURFACE_BITS_COMMAND messages sent by the RDP server. When the command is handled using NSCodec, the bmp.width and bmp.height values provided by the server are not properly validated against the actual desktop dimensions. A malicious RDP server can supply crafted bmp.width and bmp.height values that exceed the expected surface size. Because these values are used during bitmap decoding and memory operations without proper bounds checking, this can lead to a heap buffer overflow. Since the attacker can also control the associated pixel data transmitted by the server, the overflow may be exploitable to overwrite adjacent heap memory. This vulnerability is fixed in 3.24.0.

CVSS v3
9.8
EG Score
9.8CRITICALmedium confidence
EG Risk
59
EG Risk 59/100

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation1% × 40%
Automatability100% × 15%
EPSS PROB
0.7%
EPSS %ILE
49th
KEV
Not listed

Published

March 13, 2026

Last Modified

July 15, 2026

Advisory Details (10)

Auto-updated Oct 3, 2026
🔬 Proof of concept available. Patch available. Sources: github, redhat.
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 9.6 Extended Update Support.

https://access.redhat.com/errata/RHSA-2026:6727
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 9.

https://access.redhat.com/errata/RHSA-2026:6340
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 10.

https://access.redhat.com/errata/RHSA-2026:19033
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 7 Extended Lifecycle Support.

https://access.redhat.com/errata/RHSA-2026:11323
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support.

https://access.redhat.com/errata/RHSA-2026:10951
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support and Red Hat Enterprise Linux 8.4 Extended Update Support

https://access.redhat.com/errata/RHSA-2026:10735
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 8.2 Advanced Update Support.

https://access.redhat.com/errata/RHSA-2026:10734
redhatMentions a patch (unverified)

Affected: Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions and Red Hat Enterprise Linux 8.8 Telecommunications Update Serv

https://access.redhat.com/errata/RHSA-2026:10076
githubMentions a patch (unverified)🟡 PoC Available

Heap Buffer Overflow in nsc_process_message() via Unchecked SURFACE_BITS_COMMAND Bitmap Dimensions · Advisory · FreeRDP/FreeRDP · GitHub

https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rrqm-46rj-cmx2
github_commit

commit 83d9aedea278 (FreeRDP/FreeRDP)

Fix landed in FreeRDP/FreeRDP commit 83d9aedea278 — awaiting tagged release

https://github.com/FreeRDP/FreeRDP/commit/83d9aedea278a74af3e490ff5eeb889c016dbb2b

Patch Availability(14)

Vendor / EcosystemFix (by version range) / PatchReleasedSource
redhatfreerdp-2:3.10.3-12.el10_2.22026-05-19redhat
redhatfreerdp-0:2.1.1-5.el7_9.72026-04-28redhat
redhatfreerdp-2:2.0.0-46.rc4.el8_2.102026-04-27redhat
redhatfreerdp-2:2.2.0-7.el8_6.52026-04-27redhat
redhatfreerdp-2:2.2.0-12.el8_42026-04-27redhat
redhatfreerdp-2:2.2.0-12.el8_8.52026-04-23redhat
redhatfreerdp-2:2.4.1-3.el9_0.42026-04-22redhat
redhatfreerdp-2:2.4.1-6.el9_2.62026-04-22redhat
redhatfreerdp-2:2.11.2-1.el9_4.52026-04-08redhat
redhatfreerdp-2:2.11.7-6.el8_102026-04-07redhat
redhatfreerdp-2:3.10.3-5.el10_1.52026-04-07redhat
redhatfreerdp-2:2.11.7-1.el9_6.72026-04-07redhat
redhatfreerdp-2:3.10.3-3.el10_0.52026-04-07redhat
redhatfreerdp-2:2.11.7-1.el9_7.52026-04-01redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(4 across 4 ecosystems)
Debian:11(1)
PackageVulnerable rangeFix by version rangeDependents
freerdp22.10.0+dfsg1-1 ... 2.9.0+dfsg1-1~bpo11+1 (32 versions)
  • every version on: no fix on record
—
Debian:12(1)
PackageVulnerable rangeFix by version rangeDependents
freerdp22.10.0+dfsg1-1 ... 2.11.7+dfsg1-6~deb12u1 (13 versions)
  • every version on: no fix on record
—
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
freerdp33.15.0+dfsg-2.1, 3.15.0+dfsg-2.1+deb13u1
  • every version up to 3.15.0+dfsg-2.1+deb13u2: fixed in 3.15.0+dfsg-2.1+deb13u2
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
freerdp33.15.0+dfsg-2.1 ... 3.23.0+dfsg-1~bpo13+1 (21 versions)
  • every version up to 3.24.0+dfsg-1: fixed in 3.24.0+dfsg-1
—

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Additional Vendor Advisories

(1)

Vendors that published advisories for this CVE beyond the curated set above. Broader coverage but minimal per-row detail — click through for the original advisory.

Data Freshness Timeline

(refreshed 7× in last 7d / 24× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 159 total refreshes for this CVE.

  1. 2026-10-09 20:07 UTCEPSS rescore
  2. 2026-10-08 17:12 UTCEPSS rescore
  3. 2026-10-07 23:47 UTCEPSS rescore
  4. 2026-10-06 15:17 UTCEPSS rescore
  5. 2026-10-05 17:42 UTCEPSS rescore
  6. 2026-10-04 23:22 UTCEPSS rescore
  7. 2026-10-03 14:25 UTCEPSS rescore
  8. 2026-10-01 19:49 UTCEPSS rescore
  9. 2026-09-30 15:03 UTCEPSS rescore
  10. 2026-09-28 13:51 UTCEPSS rescore
  11. 2026-09-26 15:58 UTCEPSS rescore
  12. 2026-09-26 00:26 UTCEPSS rescore
  13. 2026-09-21 22:46 UTCOSV refresh
  14. 2026-09-20 20:15 UTCEPSS rescore
  15. 2026-09-20 20:15 UTCEPSS rescore
  16. 2026-09-18 19:28 UTCEPSS rescore
  17. 2026-09-18 19:27 UTCEPSS rescore
  18. 2026-09-17 19:30 UTCEPSS rescore
  19. 2026-09-16 14:08 UTCEPSS rescore
  20. 2026-09-16 05:15 UTCEPSS rescore
  21. 2026-09-13 16:47 UTCEPSS rescore
  22. 2026-09-12 15:01 UTCEPSS rescore
  23. 2026-09-11 14:52 UTCEPSS rescore
  24. 2026-09-10 09:34 UTCEPSS rescore
  25. 2026-09-08 22:00 UTCEPSS rescore
Show 75 more
  1. 2026-09-07 16:01 UTCEPSS rescore
  2. 2026-09-06 13:47 UTCEPSS rescore
  3. 2026-09-06 13:47 UTCEPSS rescore
  4. 2026-09-04 05:06 UTCEPSS rescore
  5. 2026-09-02 19:08 UTCOSV refresh
  6. 2026-09-02 14:11 UTCEPSS rescore
  7. 2026-09-01 13:53 UTCEPSS rescore
  8. 2026-09-01 04:39 UTCEPSS rescore
  9. 2026-09-01 04:39 UTCEPSS rescore
  10. 2026-08-30 19:17 UTCEPSS rescore
  11. 2026-08-30 01:22 UTCEPSS rescore
  12. 2026-08-28 21:41 UTCEPSS rescore
  13. 2026-08-27 14:25 UTCEPSS rescore
  14. 2026-08-26 14:46 UTCEPSS rescore
  15. 2026-08-25 13:49 UTCEPSS rescore
  16. 2026-08-24 14:17 UTCEPSS rescore
  17. 2026-08-23 00:19 UTCEPSS rescore
  18. 2026-08-21 23:49 UTCEPSS rescore
  19. 2026-08-20 22:55 UTCEPSS rescore
  20. 2026-08-20 22:55 UTCEPSS rescore
  21. 2026-08-19 17:03 UTCEPSS rescore
  22. 2026-08-18 13:48 UTCEPSS rescore
  23. 2026-08-17 13:47 UTCEPSS rescore
  24. 2026-08-16 14:56 UTCEPSS rescore
  25. 2026-08-16 11:38 UTCEG score recompute
  26. 2026-08-16 11:38 UTCVendor advisory
  27. 2026-08-16 02:14 UTCEPSS rescore
  28. 2026-08-15 01:30 UTCEPSS rescore
  29. 2026-08-14 23:45 UTCVendor advisory
  30. 2026-08-14 20:04 UTCVendor advisory
  31. 2026-08-14 15:03 UTCVendor advisory
  32. 2026-08-14 11:23 UTCVendor advisory
  33. 2026-08-14 07:40 UTCEG score recompute
  34. 2026-08-14 07:40 UTCVendor advisory
  35. 2026-08-13 22:00 UTCEPSS rescore
  36. 2026-08-13 02:19 UTCVendor advisory
  37. 2026-08-12 22:39 UTCEG score recompute
  38. 2026-08-12 22:39 UTCVendor advisory
  39. 2026-08-12 13:50 UTCEPSS rescore
  40. 2026-08-12 01:21 UTCVendor advisory
  41. 2026-08-11 21:41 UTCEG score recompute
  42. 2026-08-11 21:41 UTCVendor advisory
  43. 2026-08-11 08:39 UTCVendor advisory
  44. 2026-08-11 04:49 UTCEG score recompute
  45. 2026-08-11 04:49 UTCVendor advisory
  46. 2026-08-11 00:00 UTCEPSS rescore
  47. 2026-08-10 12:17 UTCVendor advisory
  48. 2026-08-10 07:50 UTCVendor advisory
  49. 2026-08-10 04:10 UTCVendor advisory
  50. 2026-08-10 00:28 UTCVendor advisory
  51. 2026-08-09 20:47 UTCVendor advisory
  52. 2026-08-09 17:07 UTCEG score recompute
  53. 2026-08-09 17:07 UTCVendor advisory
  54. 2026-08-09 13:46 UTCEPSS rescore
  55. 2026-08-09 13:26 UTCVendor advisory
  56. 2026-08-09 07:18 UTCEG score recompute
  57. 2026-08-09 07:18 UTCVendor advisory
  58. 2026-08-08 16:37 UTCEPSS rescore
  59. 2026-08-08 08:42 UTCVendor advisory
  60. 2026-08-08 05:02 UTCVendor advisory
  61. 2026-08-08 01:21 UTCVendor advisory
  62. 2026-08-07 21:41 UTCVendor advisory
  63. 2026-08-07 18:00 UTCEG score recompute
  64. 2026-08-07 18:00 UTCVendor advisory
  65. 2026-08-06 19:47 UTCEG score recompute
  66. 2026-08-06 19:47 UTCVendor advisory
  67. 2026-08-06 13:46 UTCEPSS rescore
  68. 2026-08-06 09:22 UTCVendor advisory
  69. 2026-08-06 05:34 UTCVendor advisory
  70. 2026-08-06 01:54 UTCEG score recompute
  71. 2026-08-06 01:54 UTCVendor advisory
  72. 2026-08-05 19:17 UTCEPSS rescore
  73. 2026-08-04 15:10 UTCEPSS rescore
  74. 2026-08-04 10:38 UTCEPSS rescore
  75. 2026-08-04 04:51 UTCVendor advisory

Frequently asked(5)

What is CVE-2026-31806?
CVE-2026-31806 is a critical vulnerability published on March 13, 2026. FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, the gdisurfacebits() function processes SURFACEBITSCOMMAND messages sent by the RDP server. When the command is handled using NSCodec, the bmp.width and bmp.height values provided by the server are not properly…
When was CVE-2026-31806 disclosed?
CVE-2026-31806 was first published on March 13, 2026, with the most recent update on July 15, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-31806 actively exploited?
CVE-2026-31806 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.7% probability of exploitation in the next 30 days (49th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-31806?
CVE-2026-31806 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-31806?
A fix for CVE-2026-31806 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-31806 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-31806

Explore →

Is Your Infrastructure Affected by CVE-2026-31806?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.