{
    "dataType": "CVE_RECORD",
    "cveMetadata": {
        "cveId": "CVE-2023-52486",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-02-20T12:30:33.301Z",
        "datePublished": "2024-02-29T15:52:06.888Z",
        "dateUpdated": "2026-08-05T09:10:12.791Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T09:10:12.791Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: Don't unref the same fb many times by mistake due to deadlock handling\n\nIf we get a deadlock after the fb lookup in drm_mode_page_flip_ioctl()\nwe proceed to unref the fb and then retry the whole thing from the top.\nBut we forget to reset the fb pointer back to NULL, and so if we then\nget another error during the retry, before the fb lookup, we proceed\nthe unref the same fb again without having gotten another reference.\nThe end result is that the fb will (eventually) end up being freed\nwhile it's still in use.\n\nReset fb to NULL once we've unreffed it to avoid doing it again\nuntil we've done another fb lookup.\n\nThis turned out to be pretty easy to hit on a DG2 when doing async\nflips (and CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y). The first symptom I\nsaw that drm_closefb() simply got stuck in a busy loop while walking\nthe framebuffer list. Fortunately I was able to convince it to oops\ninstead, and from there it was easier to track down the culprit."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is in drm_mode_page_flip_ioctl(), reached only via the local DRM_IOCTL_MODE_PAGE_FLIP ioctl on a primary DRM node (/dev/dri/card*), not via network packet processing.\nAC:L - A DRM master can reliably induce the required ww_mutex -EDEADLK path by issuing concurrent modeset ioctls (PAGE_FLIP/ATOMIC/SETCRTC/SETPLANE) from multiple threads, controlling both sides of the lock contention; CONFIG_DEBUG_WW_MUTEX_SLOWPATH only makes this easier, it is not required.\nPR:L - The ioctl is gated by DRM_MASTER, not CAP_SYS_ADMIN/DRM_ROOT_ONLY; an unprivileged seat/video-group user or compositor becomes master on first open or via logind/lease and can invoke page flips.\nUI:N - The attacker triggers the vulnerability directly with their own DRM ioctls; no separate victim action is required.\nS:U - The use-after-free corrupts kernel memory in the same OS/security authority (local privilege escalation / kernel compromise), with no VM/IOMMU boundary crossing.\nC:H - The double drm_framebuffer_put() frees a still-in-use drm_framebuffer, yielding a classic kernel heap UAF that can be sprayed and abused for arbitrary reads of kernel memory.\nI:H - The same framebuffer UAF enables heap reuse and write primitives against kernel objects, supporting control-flow hijacking or arbitrary kernel writes.\nA:H - The premature free of an in-use framebuffer causes kernel oopses, hangs (e.g. drm_closefb busy-loop), or other crashes as observed in the fix commit."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/gpu/drm/drm_plane.c"
                    ],
                    "versions": [
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "376e21a9e4c2c63ee5d8d3aa74be5082c3882229",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "9dd334a8245011ace45e53298175c7b659edb3e7",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "f55261469be87c55df13db76dc945f6bcd825105",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "b4af63da9d94986c529d74499fdfe44289acd551",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "62f2e79cf9f4f47cc9dea9cebdf58d9f7b5695e0",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "d7afdf360f4ac142832b098b4de974e867cc063c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "bfd0feb1b109cb63b87fdcd00122603787c75a1a",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "29dc0d1de18239cf3ef8bab578b8321ed340d81c",
                            "lessThan": "cb4daf271302d71a6b9a7c01bd0b6d76febd8f0c",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/gpu/drm/drm_plane.c"
                    ],
                    "versions": [
                        {
                            "version": "4.12",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.12",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "4.19.307",
                            "lessThanOrEqual": "4.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.4.269",
                            "lessThanOrEqual": "5.4.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.210",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.149",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.76",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.15",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.7.3",
                            "lessThanOrEqual": "6.7.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.8",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "4.19.307"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "5.4.269"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "5.10.210"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "5.15.149"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "6.1.76"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "6.6.15"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "6.7.3"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.12",
                                    "versionEndExcluding": "6.8"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/376e21a9e4c2c63ee5d8d3aa74be5082c3882229"
                },
                {
                    "url": "https://git.kernel.org/stable/c/9dd334a8245011ace45e53298175c7b659edb3e7"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f55261469be87c55df13db76dc945f6bcd825105"
                },
                {
                    "url": "https://git.kernel.org/stable/c/b4af63da9d94986c529d74499fdfe44289acd551"
                },
                {
                    "url": "https://git.kernel.org/stable/c/62f2e79cf9f4f47cc9dea9cebdf58d9f7b5695e0"
                },
                {
                    "url": "https://git.kernel.org/stable/c/d7afdf360f4ac142832b098b4de974e867cc063c"
                },
                {
                    "url": "https://git.kernel.org/stable/c/bfd0feb1b109cb63b87fdcd00122603787c75a1a"
                },
                {
                    "url": "https://git.kernel.org/stable/c/cb4daf271302d71a6b9a7c01bd0b6d76febd8f0c"
                }
            ],
            "title": "drm: Don't unref the same fb many times by mistake due to deadlock handling",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-06-21T16:18:14.689026Z",
                                "id": "CVE-2023-52486",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-06-21T16:18:24.400Z"
                }
            },
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-02T23:03:20.411Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/376e21a9e4c2c63ee5d8d3aa74be5082c3882229",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/9dd334a8245011ace45e53298175c7b659edb3e7",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/f55261469be87c55df13db76dc945f6bcd825105",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/b4af63da9d94986c529d74499fdfe44289acd551",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/62f2e79cf9f4f47cc9dea9cebdf58d9f7b5695e0",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/d7afdf360f4ac142832b098b4de974e867cc063c",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/bfd0feb1b109cb63b87fdcd00122603787c75a1a",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/cb4daf271302d71a6b9a7c01bd0b6d76febd8f0c",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            }
        ]
    },
    "dataVersion": "5.2"
}