Skip to content
Heist/ feed
Back to feed
Low

FreeRDP before 3.31.0 Use-After-Free via smartcard worker

Type: advisorySources: OSV

FreeRDP before 3.31.0 contains a use-after-free vulnerability in the smartcard RDPDR device handler when worker thread creation fails after device registration. Attackers can trigger thread creation failure during channel setup to cause device pointer deallocation while devman retains a reference, leading to crash or code execution.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-91957
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 18:45 UTC · Revision 1

Source evidence

FreeRDP before 3.31.0 Use-After-Free via smartcard worker

core-osv · Original source

Published 15 Sept 2026, 15:18 UTC

FreeRDP before 3.31.0 contains a use-after-free vulnerability in the smartcard RDPDR device handler when worker thread creation fails after device registration. Attackers can trigger thread creation failure during channel setup to cause device pointer deallocation while devman retains a reference, leading to crash or code execution.

osv:CVE-2026-91957
Complete source record
{
  "id": "22a40df712026a26d6b214c5022a5107d62bea88af708083068790255915a367",
  "url": "https://osv.dev/vulnerability/CVE-2026-91957",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "FreeRDP before 3.31.0 Use-After-Free via smartcard worker",
    "summary": "FreeRDP before 3.31.0 contains a use-after-free vulnerability in the smartcard RDPDR device handler when worker thread creation fails after device registration. Attackers can trigger thread creation failure during channel setup to cause device pointer deallocation while devman retains a reference, leading to crash or code execution.",
    "evidence": "osv:CVE-2026-91957",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-91957",
      "aliases": [
        "CVE-2026-91957",
        "GHSA-j5mq-3349-gwmm"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:L/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-91957.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.485572600Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91957.json",
        "https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-j5mq-3349-gwmm",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-91957",
        "https://www.vulncheck.com/advisories/freerdp-before-3.31.0-use-after-free-via-smartcard-worker"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-416"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91957.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-91957",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 488711,
  "published_at": "2026-09-15T15:18:12.622+00:00"
}