Skip to content
Heist/ feed
Back to feed
High

FreeRDP before 3.31.0 Denial of Service via pool_decode_rect

Type: advisorySources: OSV

FreeRDP versions before 3.31.0 contain an infinite-loop denial of service in the pool_decode_rect function when decoding AVC444 metablocks with more region rectangles than preallocated worker array size. A malicious RDP server can send crafted AVC444 graphics updates causing the threaded decode path to loop indefinitely, consuming CPU and preventing normal client operation.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-91952
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 09:52 UTC · Revision 1

Source evidence

FreeRDP before 3.31.0 Denial of Service via pool_decode_rect

core-osv · Original source

Published 15 Sept 2026, 15:18 UTC

FreeRDP versions before 3.31.0 contain an infinite-loop denial of service in the pool_decode_rect function when decoding AVC444 metablocks with more region rectangles than preallocated worker array size. A malicious RDP server can send crafted AVC444 graphics updates causing the threaded decode path to loop indefinitely, consuming CPU and preventing normal client operation.

osv:CVE-2026-91952
Complete source record
{
  "id": "41f954d8f8e2ce274b507e42e7c8b1a877ed42dc42cc227169968b55424b075d",
  "url": "https://osv.dev/vulnerability/CVE-2026-91952",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "FreeRDP before 3.31.0 Denial of Service via pool_decode_rect",
    "summary": "FreeRDP versions before 3.31.0 contain an infinite-loop denial of service in the pool_decode_rect function when decoding AVC444 metablocks with more region rectangles than preallocated worker array size. A malicious RDP server can send crafted AVC444 graphics updates causing the threaded decode path to loop indefinitely, consuming CPU and preventing normal client operation.",
    "evidence": "osv:CVE-2026-91952",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-91952",
      "aliases": [
        "CVE-2026-91952",
        "GHSA-m85m-3qxv-63h5"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/freerdp/freerdp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "aa8650b300aa4cabd85d9c72b431301509b9043f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.31.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.31.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.5.1",
            "3.5.0",
            "3.4.0",
            "3.3.0",
            "3.2.0",
            "3.1.0",
            "3.0.0",
            "3.0.0-rc0",
            "3.0.0-beta4",
            "3.0.0-beta3",
            "3.0.0-beta2",
            "3.0.0-beta1",
            "2.0.0",
            "2.0.0-rc4",
            "2.0.0-rc3",
            "2.0.0-rc2",
            "2.0.0-rc1",
            "2.0.0-rc0",
            "2.0.0-beta1+android11",
            "2.0.0-beta1+android10",
            "1.2.0-beta1+android9",
            "1.2.0-beta1+android7",
            "1.1.0-beta+2013071101",
            "1.1.0-beta1+ios4",
            "1.1.0-beta1+android5",
            "1.1.0-beta1+android4",
            "1.1.0-beta1+ios3",
            "1.1.0-beta1+ios2",
            "1.1.0-beta1+android3",
            "1.1.0-beta1+android2",
            "1.1.0-beta1+ios1",
            "1.1.0-beta1",
            "1.0.1",
            "1.0.0",
            "1.0-beta5",
            "1.0-beta4",
            "1.0-beta2",
            "1.0-beta1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-91952.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.481074004Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91952.json",
        "https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-m85m-3qxv-63h5",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-91952",
        "https://www.vulncheck.com/advisories/freerdp-before-3.31.0-denial-of-service-via-pool-decode-rect"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-835"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91952.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-91952",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518923,
  "published_at": "2026-09-15T15:18:09.203+00:00"
}