{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2025-40247",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2025-40247",
    "idYear": 2025,
    "status": "PUBLISHED",
    "publishedAt": "2025-12-04T16:08:10.696Z",
    "updatedAt": "2026-05-11T21:45:38.393Z",
    "importedAt": "2026-10-24T01:57:34.152Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "drm/msm: Fix pgtable prealloc error path",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/msm: Fix pgtable prealloc error path\n\nThe following splat was reported:\n\n    Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010\n    Mem abort info:\n      ESR = 0x0000000096000004\n      EC = 0x25: DABT (current EL), IL = 32 bits\n      SET = 0, FnV = 0\n      EA = 0, S1PTW = 0\n      FSC = 0x04: level 0 translation fault\n    Data abort info:\n      ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000\n      CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n      GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\n    user pgtable: 4k pages, 48-bit VAs, pgdp=00000008d0fd8000\n    [0000000000000010] pgd=0000000000000000, p4d=0000000000000000\n    Internal error: Oops: 0000000096000004 [#1]  SMP\n    CPU: 5 UID: 1000 PID: 149076 Comm: Xwayland Tainted: G S                  6.16.0-rc2-00809-g0b6974bb4134-dirty #367 PREEMPT\n    Tainted: [S]=CPU_OUT_OF_SPEC\n    Hardware name: Qualcomm Technologies, Inc. SM8650 HDK (DT)\n    pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)\n    pc : build_detached_freelist+0x28/0x224\n    lr : kmem_cache_free_bulk.part.0+0x38/0x244\n    sp : ffff000a508c7a20\n    x29: ffff000a508c7a20 x28: ffff000a508c7d50 x27: ffffc4e49d16f350\n    x26: 0000000000000058 x25: 00000000fffffffc x24: 0000000000000000\n    x23: ffff00098c4e1450 x22: 00000000fffffffc x21: 0000000000000000\n    x20: ffff000a508c7af8 x19: 0000000000000002 x18: 00000000000003e8\n    x17: ffff000809523850 x16: ffff000809523820 x15: 0000000000401640\n    x14: ffff000809371140 x13: 0000000000000130 x12: ffff0008b5711e30\n    x11: 00000000001058fa x10: 0000000000000a80 x9 : ffff000a508c7940\n    x8 : ffff000809371ba0 x7 : 781fffe033087fff x6 : 0000000000000000\n    x5 : ffff0008003cd000 x4 : 781fffe033083fff x3 : ffff000a508c7af8\n    x2 : fffffdffc0000000 x1 : 0001000000000000 x0 : ffff0008001a6a00\n    Call trace:\n     build_detached_freelist+0x28/0x224 (P)\n     kmem_cache_free_bulk.part.0+0x38/0x244\n     kmem_cache_free_bulk+0x10/0x1c\n     msm_iommu_pagetable_prealloc_cleanup+0x3c/0xd0\n     msm_vma_job_free+0x30/0x240\n     msm_ioctl_vm_bind+0x1d0/0x9a0\n     drm_ioctl_kernel+0x84/0x104\n     drm_ioctl+0x358/0x4d4\n     __arm64_sys_ioctl+0x8c/0xe0\n     invoke_syscall+0x44/0x100\n     el0_svc_common.constprop.0+0x3c/0xe0\n     do_el0_svc+0x18/0x20\n     el0_svc+0x30/0x100\n     el0t_64_sync_handler+0x104/0x130\n     el0t_64_sync+0x170/0x174\n    Code: aa0203f5 b26287e2 f2dfbfe2 aa0303f4 (f8737ab6)\n    ---[ end trace 0000000000000000 ]---\n\nSince msm_vma_job_free() is called directly from the ioctl, this looks\nlike an error path cleanup issue.  Which I think results from\nprealloc_cleanup() called without a preceding successful\nprealloc_allocate() call.  So handle that case better.\n\nPatchwork: https://patchwork.freedesktop.org/patch/678677/",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0cf6c71d70d8aa39b8fd0e39c9009602a0e0d300",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b865da18b6cb878f33b5920693d03f23b9c4d1a3"
            },
            {
              "version": "0cf6c71d70d8aa39b8fd0e39c9009602a0e0d300",
              "status": "affected",
              "versionType": "git",
              "lessThan": "830d68f2cb8ab6fb798bb9555016709a9e012af0"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "3.12",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "3.12"
            },
            {
              "version": "6.17.10",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.17.*"
            },
            {
              "version": "6.18",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}