{"id":"CVE-2024-39497","state":"PUBLISHED","title":"drm/shmem-helper: Fix BUG_ON() on mmap(PROT_WRITE, MAP_PRIVATE)","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/shmem-helper: Fix BUG_ON() on mmap(PROT_WRITE, MAP_PRIVATE)\n\nLack of check for copy-on-write (COW) mapping in drm_gem_shmem_mmap\nallows users to call mmap with PROT_WRITE and MAP_PRIVATE flag\ncausing a kernel panic due to BUG_ON in vmf_insert_pfn_prot:\nBUG_ON((vma->vm_flags & VM_PFNMAP) && is_cow_mapping(vma->vm_flags));\n\nReturn -EINVAL early if COW mapping is detected.\n\nThis bug affects all drm drivers using default shmem helpers.\nIt can be reproduced by this simple example:\nvoid *ptr = mmap(0, size, PROT_WRITE, MAP_PRIVATE, fd, mmap_offset);\nptr[0] = 0;","publishedAt":"2024-07-12T12:20:32.330Z","updatedAt":"2026-05-11T20:21:42.337Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"a508a102edf8735adc9bb73d37dd13c38d1a1b10","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"3ae63a8c1685e16958560ec08d30defdc5b9cca0","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"2219e5f97244b79c276751a1167615b9714db1b0","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"1b4a8b89bf6787090b56424d269bf84ba00c3263","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"03c71c42809ef4b17f5d874cdb2d3bf40e847b86","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"39bc27bd688066a63e56f7f64ad34fae03fbe3b8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/drm_gem_shmem_helper.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.2","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.2","versionType":"semver"},{"version":"5.10.229","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.169","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.114","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.35","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.6","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/drm_gem_shmem_helper.c"]}],"references":["https://git.kernel.org/stable/c/a508a102edf8735adc9bb73d37dd13c38d1a1b10","https://git.kernel.org/stable/c/3ae63a8c1685e16958560ec08d30defdc5b9cca0","https://git.kernel.org/stable/c/2219e5f97244b79c276751a1167615b9714db1b0","https://git.kernel.org/stable/c/1b4a8b89bf6787090b56424d269bf84ba00c3263","https://git.kernel.org/stable/c/03c71c42809ef4b17f5d874cdb2d3bf40e847b86","https://git.kernel.org/stable/c/39bc27bd688066a63e56f7f64ad34fae03fbe3b8","https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:39.287Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/39xxx/CVE-2024-39497.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-39497","state":"PUBLISHED","datePublished":"2024-07-12T12:20:32.330Z","dateUpdated":"2026-05-11T20:21:42.337Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-06-25T14:23:23.751Z"},"containers":{"cna":{"title":"drm/shmem-helper: Fix BUG_ON() on mmap(PROT_WRITE, MAP_PRIVATE)","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/shmem-helper: Fix BUG_ON() on mmap(PROT_WRITE, MAP_PRIVATE)\n\nLack of check for copy-on-write (COW) mapping in drm_gem_shmem_mmap\nallows users to call mmap with PROT_WRITE and MAP_PRIVATE flag\ncausing a kernel panic due to BUG_ON in vmf_insert_pfn_prot:\nBUG_ON((vma->vm_flags & VM_PFNMAP) && is_cow_mapping(vma->vm_flags));\n\nReturn -EINVAL early if COW mapping is detected.\n\nThis bug affects all drm drivers using default shmem helpers.\nIt can be reproduced by this simple example:\nvoid *ptr = mmap(0, size, PROT_WRITE, MAP_PRIVATE, fd, mmap_offset);\nptr[0] = 0;"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"a508a102edf8735adc9bb73d37dd13c38d1a1b10","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"3ae63a8c1685e16958560ec08d30defdc5b9cca0","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"2219e5f97244b79c276751a1167615b9714db1b0","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"1b4a8b89bf6787090b56424d269bf84ba00c3263","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"03c71c42809ef4b17f5d874cdb2d3bf40e847b86","versionType":"git"},{"version":"2194a63a818db71065ebe09c8104f5f021ca4e7b","status":"affected","lessThan":"39bc27bd688066a63e56f7f64ad34fae03fbe3b8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/drm_gem_shmem_helper.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.2","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.2","versionType":"semver"},{"version":"5.10.229","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.169","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.114","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.35","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.6","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/drm_gem_shmem_helper.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/a508a102edf8735adc9bb73d37dd13c38d1a1b10"},{"url":"https://git.kernel.org/stable/c/3ae63a8c1685e16958560ec08d30defdc5b9cca0"},{"url":"https://git.kernel.org/stable/c/2219e5f97244b79c276751a1167615b9714db1b0"},{"url":"https://git.kernel.org/stable/c/1b4a8b89bf6787090b56424d269bf84ba00c3263"},{"url":"https://git.kernel.org/stable/c/03c71c42809ef4b17f5d874cdb2d3bf40e847b86"},{"url":"https://git.kernel.org/stable/c/39bc27bd688066a63e56f7f64ad34fae03fbe3b8"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:21:42.337Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"5.10.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"5.15.169"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"6.1.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"6.6.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"6.9.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2","versionEndExcluding":"6.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/1b4a8b89bf6787090b56424d269bf84ba00c3263","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/03c71c42809ef4b17f5d874cdb2d3bf40e847b86","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/39bc27bd688066a63e56f7f64ad34fae03fbe3b8","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T21:56:15.676Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-39497","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T17:07:23.056270Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:40.913Z"}}]}}}