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.
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"
}
]
}