{
  "cveId": "CVE-2025-40247",
  "url": "https://patchblox.com/security/cve/CVE-2025-40247",
  "summary": "CVE-2025-40247 is fixed in linux on 1 platform by DEBIAN-CVE-2025-40247 (version 6.17.10-1), released December 4, 2025. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "drm/msm: Fix pgtable prealloc error path",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm: Fix pgtable prealloc error path  The following splat was reported:      Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010     Mem abort info:       ESR = 0x0000000096000004       EC = 0x25: DABT (current EL), IL = 32 bits       SET = 0, FnV = 0       EA = 0, S1PTW = 0       FSC = 0x04: level 0 translation fault     Data abort info:       ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000       CM = 0, WnR = 0, TnD = 0, TagAccess = 0       GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0     user pgtable: 4k pages, 48-bit VAs, pgdp=00000008d0fd8000     [0000000000000010] pgd=0000000000000000, p4d=0000000000000000     Internal error: Oops: 0000000096000004 [#1]  SMP     CPU: 5 UID: 1000 PID: 149076 Comm: Xwayland Tainted: G S                  6.16.0-rc2-00809-g0b6974bb4134-dirty #367 PREEMPT     Tainted: [S]=CPU_OUT_OF_SPEC     Hardware name: Qualcomm Technologies, Inc. SM8650 HDK (DT)     pstate: 83400005 (Nzcv daif \u002BPAN -UAO \u002BTCO \u002BDIT -SSBS BTYPE=--)     pc : build_detached_freelist\u002B0x28/0x224     lr : kmem_cache_free_bulk.part.0\u002B0x38/0x244     sp : ffff000a508c7a20     x29: ffff000a508c7a20 x28: ffff000a508c7d50 x27: ffffc4e49d16f350     x26: 0000000000000058 x25: 00000000fffffffc x24: 0000000000000000     x23: ffff00098c4e1450 x22: 00000000fffffffc x21: 0000000000000000     x20: ffff000a508c7af8 x19: 0000000000000002 x18: 00000000000003e8     x17: ffff000809523850 x16: ffff000809523820 x15: 0000000000401640     x14: ffff000809371140 x13: 0000000000000130 x12: ffff0008b5711e30     x11: 00000000001058fa x10: 0000000000000a80 x9 : ffff000a508c7940     x8 : ffff000809371ba0 x7 : 781fffe033087fff x6 : 0000000000000000     x5 : ffff0008003cd000 x4 : 781fffe033083fff x3 : ffff000a508c7af8     x2 : fffffdffc0000000 x1 : 0001000000000000 x0 : ffff0008001a6a00     Call trace:      build_detached_freelist\u002B0x28/0x224 (P)      kmem_cache_free_bulk.part.0\u002B0x38/0x244      kmem_cache_free_bulk\u002B0x10/0x1c      msm_iommu_pagetable_prealloc_cleanup\u002B0x3c/0xd0      msm_vma_job_free\u002B0x30/0x240      msm_ioctl_vm_bind\u002B0x1d0/0x9a0      drm_ioctl_kernel\u002B0x84/0x104      drm_ioctl\u002B0x358/0x4d4      __arm64_sys_ioctl\u002B0x8c/0xe0      invoke_syscall\u002B0x44/0x100      el0_svc_common.constprop.0\u002B0x3c/0xe0      do_el0_svc\u002B0x18/0x20      el0_svc\u002B0x30/0x100      el0t_64_sync_handler\u002B0x104/0x130      el0t_64_sync\u002B0x170/0x174     Code: aa0203f5 b26287e2 f2dfbfe2 aa0303f4 (f8737ab6)     ---[ end trace 0000000000000000 ]---  Since msm_vma_job_free() is called directly from the ioctl, this looks like an error path cleanup issue.  Which I think results from prealloc_cleanup() called without a preceding successful prealloc_allocate() call.  So handle that case better.  Patchwork: https://patchwork.freedesktop.org/patch/678677/",
  "published": "2025-12-04T16:16:18Z",
  "severity": "Moderate",
  "cvss": 5.5,
  "epss": 0.00198,
  "epssPercentile": 0.09655,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "vendorAdvisory": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-40247",
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.17.10-1",
      "fix": "DEBIAN-CVE-2025-40247",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2025-40247",
      "released": "2025-12-04T16:16:18Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}