← Back to CVE Explorer

CVE-2025-40110

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Fix a null-ptr access in the cursor snooper Check that the resource which is converted to a surface exists before trying to use the cursor snooper on it. vmw_cmd_res_check allows explicit invalid (SVGA3D_INVALID_ID) identifiers because some svga commands accept SVGA3D_INVALID_ID to mean "no surface", unfortunately functions that accept the actual surfaces as objects might (and in case of the cursor snooper, do not) be able to handle null objects. Make sure that we validate not only the identifier (via the vmw_cmd_res_check) but also check that the actual resource exists before trying to do something with it. Fixes unchecked null-ptr reference in the snooping code.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-12 02:15:32.900000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-40110",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-11-12T02:15:32.900",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/vmwgfx: Fix a null-ptr access in the cursor snooper\n\nCheck that the resource which is converted to a surface exists before\ntrying to use the cursor snooper on it.\n\nvmw_cmd_res_check allows explicit invalid (SVGA3D_INVALID_ID) identifiers\nbecause some svga commands accept SVGA3D_INVALID_ID to mean \"no surface\",\nunfortunately functions that accept the actual surfaces as objects might\n(and in case of the cursor snooper, do not) be able to handle null\nobjects. Make sure that we validate not only the identifier (via the\nvmw_cmd_res_check) but also check that the actual resource exists before\ntrying to do something with it.\n\nFixes unchecked null-ptr reference in the snooping code."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ndrm/vmwgfx: Corrige un acceso a puntero nulo en el rastreador de cursor\n\nVerifique que el recurso que se convierte en una superficie existe antes de intentar usar el rastreador de cursor en él.\n\nvmw_cmd_res_check permite identificadores explícitamente inválidos (SVGA3D_INVALID_ID) porque algunos comandos svga aceptan SVGA3D_INVALID_ID para significar “sin superficie”; desafortunadamente, las funciones que aceptan las superficies reales como objetos podrían (y en el caso del rastreador de cursor, no lo hacen) ser capaces de manejar objetos nulos. Asegúrese de que validamos no solo el identificador (a través de vmw_cmd_res_check) sino que también verificamos que el recurso real existe antes de intentar hacer algo con él.\n\nCorrige la referencia de puntero nulo sin verificar en el código de rastreo."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "3332212e93d0f6e24f8fe79f975e077c4e68ca39",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "86aae7053d2da3fdfde7b2e84d86e4af50490505",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "af9d88cbf0fce52f465978360542ef679713491f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "299cfb5a7deabdf9ecd30071755672af0aced5eb",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "13c9e4ed125e19484234c960efe5ac9c55119523",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "b6fca0a07989f361ceda27cb2d09c555d4d4a964",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "c0951b797e7d0f2c6b0df2c0e18185c72d0cf1a1",
              "lessThan": "5ac2c0279053a2c5265d46903432fb26ae2d0da2",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.8",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.8",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.248",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.198",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.160",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.113",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.54",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.4",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/13c9e4ed125e19484234c960efe5ac9c55119523",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/299cfb5a7deabdf9ecd30071755672af0aced5eb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3332212e93d0f6e24f8fe79f975e077c4e68ca39",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5ac2c0279053a2c5265d46903432fb26ae2d0da2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/86aae7053d2da3fdfde7b2e84d86e4af50490505",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/af9d88cbf0fce52f465978360542ef679713491f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b6fca0a07989f361ceda27cb2d09c555d4d4a964",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}