CVE-2025-71130: drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer
In the Linux kernel, the following vulnerability has been resolved:
drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer
Initialize the eb.vma array with values of 0 when the eb structure is
first set up. In particular, this sets the eb->vma[i].vma pointers to
NULL, simplifying cleanup and getting rid of the bug described below.
During the execution of eb_lookup_vmas(), the eb->vma array is
successively filled up with struct eb_vma objects. This process includes
calling eb_add_vma(), which might fail; however, even in the event of
failure, eb->vma[i].vma is set for the currently processed buffer.
If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which
prompts a call to eb_release_vmas() to clean up the mess. Since
eb_lookup_vmas() might fail during processing any (possibly not first)
buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know
at what point did the lookup function fail.
In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper
function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is
set to NULL in case i915_gem_object_userptr_submit_init() fails; the
current one needs to be cleaned up by eb_release_vmas() at this point,
so the next one is set. If eb_add_vma() fails, neither the current nor
the next vma is set to NULL, which is a source of a NULL deref bug
described in the issue linked in the Closes tag.
When entering eb_lookup_vmas(), the vma pointers are set to the slab
poison value, instead of NULL. This doesn't matter for the actual
lookup, since it gets overwritten anyway, however the eb_release_vmas()
function only recognizes NULL as the stopping value, hence the pointers
are being set to NULL as they go in case of intermediate failure. This
patch changes the approach to filling them all with NULL at the start
instead, rather than handling that manually during failure.
(cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)
Security readout for executives and security teams
Plain-English summary
A flaw in Linux’s i915 graphics driver can mishandle cleanup after a graphics-memory setup failure. A local, low-privileged user may be able to trigger a kernel fault without user interaction. The supplied record rates it 7.8 High, although its narrative specifically demonstrates a null-pointer dereference rather than every confidentiality and integrity impact represented by the CVSS vector.
Executive priority
Treat this as a high-priority kernel update for shared workstations, multi-user systems, and other hosts exposing i915 to untrusted local users. Internet-facing status does not independently increase reachability. Use normal expedited patch governance, while verifying vendor backports because the supplied version ranges are not sufficiently clear for definitive fleet matching.
Technical view
During i915 execbuffer VMA lookup, eb_add_vma() can fail while later eb.vma entries retain slab-poison values. Cleanup expects NULL as its stopping marker, so eb_release_vmas() may process invalid entries and dereference an invalid pointer. The referenced fix zero-initializes the entire eb.vma array when the execbuffer structure is created.
Likely exposure
Exposure is most plausible on systems running an affected Linux kernel where the i915 driver path is present and a low-privileged local account can reach the graphics interface. Remotely accessible services alone are not sufficient. The supplied affected-version data is ambiguous, so distribution-specific kernel and backport status must be checked.
Exploitation context
The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction. The supplied bundle marks KEV false and provides no evidence of active exploitation or a public exploit. Confirmed behavior in the description is a kernel null-pointer dereference; broader compromise potential is not established by the supplied narrative.
Researcher notes
The corrective change replaces fragile per-error NULL assignments with initialization of every eb.vma entry. This directly addresses cleanup after partial lookup failure. No CWE is supplied. The affected-version list contains an unexplained “0,” repeated hashes, and broad release identifiers; researchers should rely on commit ancestry and vendor backport evidence rather than version strings alone.
Mitigation direction
Update to a vendor-supported kernel containing the applicable referenced stable fix.
Confirm the branch-specific fixed build through the Linux distribution or appliance vendor.
Prioritize systems where untrusted local users can access the i915 graphics interface.
If patching is delayed, obtain vendor-approved temporary mitigation guidance; none is supplied here.
Validation and detection
Inventory running kernel versions and determine whether the i915 driver is active.
Map each vendor kernel build to an advisory or documented backport of the referenced fix.
After updating and rebooting, confirm the remediated kernel is actually running.
Validate normal graphics workloads and monitor for new kernel faults after remediation.
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-2025-71130 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.
1CVSS vectors
3Timeline events
0ADP providers
6Source links
CVSS vector scores
1 official score
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.