CVE-2026-53145 Vulnerability Analysis & Exploit Details

CVE-2026-53145
Vulnerability Scoring

7.8
/10
Very High Risk

Highly exploitable, CVE-2026-53145 poses a critical security risk that could lead to severe breaches.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Local
    Vulnerability requires local system access.
  • Privileges Required: Low
    Some privileges are necessary to exploit the vulnerability.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2026-53145 Details

Status: Analyzed

Last updated: 🕝 08 Jul 2026, 14:57 UTC
Originally published on: 🕘 25 Jun 2026, 09:16 UTC

Time between publication and last update: 13 days

CVSS Release: version 3

CVSS3 Source

416baaa9-dc9f-4396-8d5f-8c081fb06d67

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CVE-2026-53145 Vulnerability Summary

CVE-2026-53145: In the Linux kernel, the following vulnerability has been resolved: drm/gem: Try to fix change_handle ioctl, attempt 4 [airlied: just added some comments on how to reenable] On-list because the cat is out of the bag and we're clearly not good enough to figure this out in private. The story thus far: 5e28b7b94408 ("drm: Set old handle to NULL before prime swap in change_handle") tried to fix a race condition between the gem_close and gem_change_handle ioctls, but got a few things wrong: - There's a confusion with the local variable handle, which is actually the new handle, and so the two-stage trick was actually applied to the wrong idr slot. 7164d78559b0 ("drm/gem: fix race between change_handle and handle_delete") tried to fix that by adding yet another code block, but forgot to add the error handling. Which meant we now have two paths, both kinda wrong. - dc366607c41c ("drm: Replace old pointer to new idr") tried to apply another fix, but inconsistently, again because of the handle confusion - this would be the right fix (kinda, somewhat, it's a mess) if we'd do the two-stage approach for the new handle. Except that wasn't the intent of the original fix. We also didn't have an igt merged for the original ioctl, which is a big no-go. This was attempted to address off-list in the original bugfix, and amd QA people claimed the bug was fixed now. Very clearly that's not the case. Here's my attempt to sort this out: - Rename the local variable to new_handle, the old aliasing with args->handle is just too dangerously confusing. - Merge the gem obj lookup with the two-stage idr_replace so that we avoid getting ourselves confused there. - This means we don't have a surplus temporary reference anymore, only an inherited from the idr. A concurrent gem_close on the new_handle could steal that. Fix that with the same two-stage approach create_tail uses. This is a bit overkill as documented in the comment, but I also don't trust my ability to understand this all correctly, so go with the established pattern we have from other ioctls instead for maximum paranoia. - Adjust error paths. I've tried to make the error and success paths common, because they are identical except for which handle is removed and on which we call idr_replace to (re)install the object again. But that made things messier to read, so I've left it at the more verbose version, which unfortunately hides the symmetry in the entire code flow a bit. - While at it, also replace the 7 space indent with 1 tab. And finally, because I flat out don't trust my abilities here at all anymore: - Disable the ioctl until we have the igt situation and everything else sorted out on-list and with full consensus. v2: Sashiko noticed that I didn't handle the error path for idr_replace correctly, it must be checked with IS_ERR_OR_NULL like in gem_handle_delete. So yeah, definitely should just the existing paths 1:1 because this is endless amounts of tricky. Also add the Fixes: line for the original ioctl, I forgot that too.

Assessing the Risk of CVE-2026-53145

Access Complexity Graph

The exploitability of CVE-2026-53145 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2026-53145

CVE-2026-53145 presents an accessible attack vector with minimal effort required. Restricting access controls and implementing security updates are critical to reducing exploitation risks.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2026-53145, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2026-53145, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2026-53145 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: High
    CVE-2026-53145 could allow unauthorized modifications to data, potentially affecting system reliability and trust.
  • Availability: High
    CVE-2026-53145 can disrupt system operations, potentially causing complete denial of service (DoS).

CVE-2026-53145 References

External References

CWE Common Weakness Enumeration

CWE-367

CAPEC Common Attack Pattern Enumeration and Classification

  • Leveraging Race Conditions via Symbolic Links CAPEC-27 This attack leverages the use of symbolic links (Symlinks) in order to write to sensitive files. An attacker can create a Symlink link to a target file not otherwise accessible to them. When the privileged program tries to create a temporary file with the same name as the Symlink link, it will actually write to the target file pointed to by the attackers' Symlink link. If the attacker can insert malicious content in the temporary file they will be writing to the sensitive file by using the Symlink. The race occurs because the system checks if the temporary file exists, then creates the file. The attacker would typically create the Symlink during the interval between the check and the creation of the temporary file.
  • Leveraging Time-of-Check and Time-of-Use (TOCTOU) Race Conditions CAPEC-29 This attack targets a race condition occurring between the time of check (state) for a resource and the time of use of a resource. A typical example is file access. The adversary can leverage a file access race condition by "running the race", meaning that they would modify the resource between the first time the target program accesses the file and the time the target program uses the file. During that period of time, the adversary could replace or modify the file, causing the application to behave unexpectedly.

Vulnerable Configurations

  • cpe:2.3:o:linux:linux_kernel:6.18.33:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:6.18.33:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:7.0.10:*:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:7.0.10:*:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
  • cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
    cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
  • cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:*
    cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:*
  • cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*
    cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*
  • cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*
    cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*
  • cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*
    cpe:2.3:o:redhat:enterprise_linux:10.0:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2026-53145: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2026-15628 – A security flaw has been discovered in zhayujie chatgpt-on-wechat CowAgent up to 2.1.1. This issue affects the function Vision._download_to_data_ur...
  • CVE-2026-15627 – A vulnerability was identified in nextlevelbuilder GoClaw up to 3.13.3-beta.3. This vulnerability affects the function handleNavigate of the file p...
  • CVE-2026-15626 – A vulnerability was determined in nextlevelbuilder GoClaw 3.13.3-beta.3. This affects the function writeFile of the file internal/providers/acp/too...
  • CVE-2026-7640 – The WP Customer Area plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'type' attribute of the `customer-area-protected-con...
  • CVE-2026-15625 – A vulnerability was found in nextlevelbuilder GoClaw 3.11.3. Affected by this issue is the function ExecApprovalManager.CheckCommand of the file in...