CVE-2024-50187: drm/vc4: Stop the active perfmon before being destroyed
In the Linux kernel, the following vulnerability has been resolved:
drm/vc4: Stop the active perfmon before being destroyed
Upon closing the file descriptor, the active performance monitor is not
stopped. Although all perfmons are destroyed in `vc4_perfmon_close_file()`,
the active performance monitor's pointer (`vc4->active_perfmon`) is still
retained.
If we open a new file descriptor and submit a few jobs with performance
monitors, the driver will attempt to stop the active performance monitor
using the stale pointer in `vc4->active_perfmon`. However, this pointer
is no longer valid because the previous process has already terminated,
and all performance monitors associated with it have been destroyed and
freed.
To fix this, when the active performance monitor belongs to a given
process, explicitly stop it before destroying and freeing it.
Security readout for executives and security teams
Plain-English summary
A flaw in the Linux VC4 graphics driver can leave a pointer to freed performance-monitor data after a process closes its file. Later driver activity may reuse that invalid pointer, potentially compromising confidentiality, integrity, or availability. Exploitation requires local, low-privileged access; it is not described as remotely exploitable.
Executive priority
Treat as a high-priority local privilege-boundary risk on systems using VC4, especially those permitting untrusted local users or workloads. Patch through supported kernel channels after confirming applicability. Internet-facing status alone does not determine exposure because the documented attack vector is local.
Technical view
This is a stale-pointer, use-after-free condition in VC4 performance-monitor cleanup. vc4_perfmon_close_file() frees a process’s monitors without stopping its active monitor or clearing the retained vc4->active_perfmon reference. Later monitored jobs can cause the driver to dereference that freed object. The fix stops an active monitor belonging to the closing process before destruction.
Likely exposure
Exposure is limited to Linux systems running an affected kernel with the VC4 driver and relevant performance-monitor functionality available. The supplied affected-version data includes releases from 4.17 through listed 6.x versions, but its version boundaries are ambiguous. Local low-privileged access is required according to the CVSS vector.
Exploitation context
The CVSS 3.1 score is 7.8 with local access, low complexity, low privileges, and no user interaction. The source describes potentially high confidentiality, integrity, and availability impact. This CVE is not in the supplied KEV data, and the bundle provides no evidence of active exploitation or a public exploit.
Researcher notes
The supplied record does not assign a CWE. The described root cause is a stale active_perfmon pointer retained after its object is freed. Multiple Linux stable commits are referenced, but the bundle does not clearly map each commit to fixed release boundaries. Assess backports using vendor package provenance rather than version strings alone.
Mitigation direction
Update to a vendor-supported kernel confirmed to contain the referenced upstream fix.
Consult the Linux distribution’s advisory for exact fixed package versions.
Prioritize multi-user or workload-hosting systems where untrusted users have local access.
Restrict unnecessary local access until affected systems are updated.
Validation and detection
Inventory running kernel versions and determine whether the VC4 driver is present or active.
Compare installed kernel packages with vendor advisories and the referenced stable fixes.
Confirm the deployed kernel includes the active-perfmon cleanup change.
Review relevant kernel crashes or faults, without treating their absence as proof of safety.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-50187 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.