CVE-2022-50440 (GCVE-0-2022-50440)
Vulnerability from cvelistv5
Published
2025-10-01 11:42
Modified
2026-08-05 08:58
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate the box size for the snooped cursor Invalid userspace dma surface copies could potentially overflow the memcpy from the surface to the snooped image leading to crashes. To fix it the dimensions of the copybox have to be validated against the expected size of the snooped cursor.
Impacted products
Vendor Product Version
Linux Linux Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Version: 2ac863719e518ae1a8f328849e64ea26a222f079
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/vmwgfx/vmwgfx_kms.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ee8d31836cbe7c26e207bfa0a4a726f0a25cfcf6",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "50d177f90b63ea4138560e500d92be5e4c928186",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "6b4e70a428b5a11f56db94047b68e144529fe512",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "94b283341f9f3f0ed56a360533766377a01540e0",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "439cbbc1519547f9a7b483f0de33b556ebfec901",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "6948e570f54f2044dd4da444b10471373a047eeb",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "4d54d11b49860686331c58a00f733b16a93edfc4",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "622d527decaac0eb65512acada935a0fdc1d0202",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            },
            {
              "lessThan": "4cf949c7fafe21e085a4ee386bb2dade9067316e",
              "status": "affected",
              "version": "2ac863719e518ae1a8f328849e64ea26a222f079",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/vmwgfx/vmwgfx_kms.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.2"
            },
            {
              "lessThan": "3.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.9.*",
              "status": "unaffected",
              "version": "4.9.337",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.303",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.229",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.163",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.87",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.9.337",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.303",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.270",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.229",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.163",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.87",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.18",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.4",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2",
                  "versionStartIncluding": "3.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/vmwgfx: Validate the box size for the snooped cursor\n\nInvalid userspace dma surface copies could potentially overflow\nthe memcpy from the surface to the snooped image leading to crashes.\nTo fix it the dimensions of the copybox have to be validated\nagainst the expected size of the snooped cursor."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Reachable only via local DRM ioctls (VMW_CREATE_SURFACE + VMW_EXECBUF with SVGA_3D_CMD_SURFACE_DMA) on the vmwgfx render/primary node; not remotely triggerable over the network.\nAC:L - The attacker fully controls box-\u003ew/box-\u003eh and guest pitch in the submitted DMA command and the source BO contents, so the overflow triggers reliably with no race or external conditions.\nPR:L - VMW_EXECBUF and VMW_CREATE_SURFACE are DRM_RENDER_ALLOW, so any unprivileged local user with access to /dev/dri/renderD* can create a 64x64 scanout cursor surface and submit the malicious DMA; root/CAP_SYS_ADMIN is not required.\nUI:N - Exploitation is entirely attacker-driven via ioctls; no victim action such as opening a file or mounting a device is required.\nS:U - The overflow corrupts guest-kernel heap (snooper.image) within the same privilege boundary; this is guest local privilege escalation, not a VM escape or IOMMU/cross-authority boundary cross.\nC:H - Attacker-controlled heap overflow of the kmalloc\u0027d 64x64x4 snooper image can overwrite adjacent slab objects and establish read primitives typical of kernel heap exploitation, enabling arbitrary confidential memory disclosure.\nI:H - The bug is an out-of-bounds memcpy write of attacker-controlled BO data past snooper.image; with oversized box dimensions (and e.g. pitch 0) this is a controllable kernel heap overflow usable for arbitrary write/control-flow hijacking.\nA:H - Oversized copies crash the kernel via slab corruption/oops as noted in the fix, so availability impact is complete denial of service."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:58:49.012Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ee8d31836cbe7c26e207bfa0a4a726f0a25cfcf6"
        },
        {
          "url": "https://git.kernel.org/stable/c/50d177f90b63ea4138560e500d92be5e4c928186"
        },
        {
          "url": "https://git.kernel.org/stable/c/6b4e70a428b5a11f56db94047b68e144529fe512"
        },
        {
          "url": "https://git.kernel.org/stable/c/94b283341f9f3f0ed56a360533766377a01540e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/439cbbc1519547f9a7b483f0de33b556ebfec901"
        },
        {
          "url": "https://git.kernel.org/stable/c/6948e570f54f2044dd4da444b10471373a047eeb"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d54d11b49860686331c58a00f733b16a93edfc4"
        },
        {
          "url": "https://git.kernel.org/stable/c/622d527decaac0eb65512acada935a0fdc1d0202"
        },
        {
          "url": "https://git.kernel.org/stable/c/4cf949c7fafe21e085a4ee386bb2dade9067316e"
        }
      ],
      "title": "drm/vmwgfx: Validate the box size for the snooped cursor",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50440",
    "datePublished": "2025-10-01T11:42:16.567Z",
    "dateReserved": "2025-09-17T14:53:07.010Z",
    "dateUpdated": "2026-08-05T08:58:49.012Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…