CVE-2026-53009: Linux ice Driver Double-Free Vulnerability – Local Privilege Escalation
A memory management bug exists in the Linux kernel's Intel ice network driver. When packet transmission setup fails, the driver frees a network buffer (skb) but leaves a reference to it marked as still valid. If the network interface is then shut down without sending another packet, the driver attempts to free the same buffer twice, causing a crash or memory corruption. This is a local privilege escalation vulnerability affecting systems running vulnerable Linux kernels with the ice driver.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-415, CWE-416
- Affected products
- 5 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-22
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: ice: fix double-free of tx_buf skb If ice_tso() or ice_tx_csum() fail, the error path in ice_xmit_frame_ring() frees the skb, but the 'first' tx_buf still points to it and is marked as valid (ICE_TX_BUF_SKB). 'next_to_use' remains unchanged, so the potential problem will likely fix itself when the next packet is transmitted and the tx_buf gets overwritten. But if there is no next packet and the interface is brought down instead, ice_clean_tx_ring() -> ice_unmap_and_free_tx_buf() will find the tx_buf and free the skb for the second time. The fix is to reset the tx_buf type to ICE_TX_BUF_EMPTY in the error path, so that ice_unmap_and_free_tx_buf(). Move the initialization of 'first' up, to ensure it's already valid in case we hit the linearization error path. The bug was spotted by AI while I had it looking for something else. It also proposed an initial version of the patch. I reproduced the bug and tested the fix by adding code to inject failures, on a build with KASAN. I looked for similar bugs in related Intel drivers and did not find any.
6 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53009 is a use-after-free (CWE-416) and double-free (CWE-415) vulnerability in the Linux kernel's ice (Intel) network driver. The flaw occurs in ice_xmit_frame_ring() when ice_tso() or ice_tx_csum() fail during packet transmission setup. The error path frees the skb but fails to invalidate the corresponding tx_buf structure (still marked ICE_TX_BUF_SKB). While the next transmitted packet typically overwrites the stale reference, if the interface is brought down instead, ice_clean_tx_ring() -> ice_unmap_and_free_tx_buf() dereferences and frees the already-freed skb. The fix resets the tx_buf type to ICE_TX_BUF_EMPTY in error paths and relocates 'first' initialization earlier to ensure validity during linearization error handling.
Business impact
Systems running vulnerable Linux kernels with active ice driver workloads face local denial-of-service risk and potential privilege escalation. Affected environments include servers using Intel network adapters (particularly in cloud, datacenter, or high-availability scenarios where unexpected crashes impact availability). Remote exploitation is not possible; an attacker requires local access. The impact varies by workload: continuous network traffic may mask the bug through buffer overwriting, while light or intermittent traffic increases the window for triggering a double-free during interface shutdown.
Affected systems
The vulnerability affects Linux kernel versions incorporating the ice driver (Intel Ethernet Driver). Red Hat Enterprise Linux versions shipping affected kernels are in scope. Vendors and products confirmed: linux (linux_kernel), Red Hat (enterprise_linux). The vulnerability is not present in non-ice drivers or kernels without ice support. Verify your kernel version and whether the ice driver is loaded (lsmod | grep ice).
Exploitability
Exploitability requires local system access (PR:L in CVSS vector). No remote attack vector exists. An attacker must trigger packet transmission failures (via ice_tso() or ice_csum() failures) and then shut down the network interface, or rely on the natural window before the buffer is overwritten. The vulnerability is not trivial to trigger reliably in production but becomes more likely under specific packet types (large packets requiring TSO fragmentation) or constrained memory conditions. Public exploit code is not widely documented.
Remediation
Apply kernel updates from your Linux distributor that include the fix to ice_xmit_frame_ring(). Red Hat users should check RHSA advisories for patched RHEL kernel versions. The upstream Linux kernel fix involves resetting tx_buf type to ICE_TX_BUF_EMPTY in error paths and ensuring 'first' is initialized before potential error branches. Verify patch application by confirming ice driver version or kernel source commit hash matches the fix commit.
Patch guidance
1. Check your current kernel version: uname -r 2. Determine if ice driver is in use: lsmod | grep ice (if output is non-empty, you are affected if kernel is vulnerable) 3. Consult your Linux distributor's security advisories (Red Hat RHSA, Ubuntu USN, Debian DSA) for patched kernel versions 4. Schedule a kernel update and reboot during a maintenance window 5. After patching, verify the fix: grep -i 'ice.*tx_buf.*empty' /boot/config-$(uname -r) or inspect kernel source commit history for the double-free fix 6. If ice driver is not in use, risk is minimal; consider disabling it if not needed (modprobe -r ice).
Detection guidance
Monitor for kernel panic logs or KASAN (Kernel Address Sanitizer) warnings referencing ice driver, tx_buf, or double-free conditions. Enable kernel core dumps and examine them for ice_unmap_and_free_tx_buf or ice_xmit_frame_ring stack traces. Search syslog for 'use-after-free' or 'double-free' in ice driver context. On KASAN-enabled systems, look for '[ ] BUG: KASAN: use-after-free' messages. Correlate crashes with network interface state changes (ifdown events) or high packet transmission rates followed by interface shutdown. Intrusion detection: monitor system calls (clone, fork) from unprivileged processes immediately after network-related syscalls, though the primary risk is DoS rather than privilege escalation in most scenarios.
Why prioritize this
HIGH severity (CVSS 7.8) due to high impact scope (confidentiality, integrity, availability all high) combined with low attack complexity and local privilege requirement. While remote exploitation is impossible, the vulnerability affects core network functionality and can crash systems, impacting availability. Organizations with dense virtualization, containerized workloads, or multi-tenant systems where local attacker access is plausible should prioritize patching. Datacenters with Intel-based network adapters are at elevated risk. The 27-day window between publication (2026-06-24) and last modification (2026-07-22) suggests potential refinement; check vendor advisories for any related updates.
Risk score, explained
CVSS 3.1 score of 7.8 (HIGH) reflects: Attack Vector Local (no remote path, lowers score), Attack Complexity Low (any unprivileged user can trigger via network operations), Privileges Required Low (local user context), User Interaction None (automatic on specific conditions), and Scope Unchanged with High impact on Confidentiality, Integrity, and Availability (all processes on the system, including kernel, can crash or be affected). The score does not account for the CVSS v4 vector, real-world exploitability constraints (triggering double-free reliably requires specific packet patterns), or mitigation (unprivileged user restrictions in hardened kernels). For security teams, treat as HIGH priority in environments with local threat models; lower in air-gapped or single-tenant scenarios.
Frequently asked questions
Can this vulnerability be exploited remotely?
No. CVE-2026-53009 requires local system access to trigger. An attacker must execute code or issue commands with local user privileges on the affected system. The vulnerability cannot be exploited via network traffic alone, though network packets *received* by the system can trigger the underlying condition (ice_tso or ice_tx_csum failures).
What Linux distributions are affected?
Any Linux distribution shipping an affected kernel version with the ice driver is vulnerable. Red Hat Enterprise Linux is explicitly confirmed. Ubuntu, Debian, and other distributors shipping Intel ice drivers in their kernels are also at risk. Check your distributor's security advisory page (RHSA, USN, DSA) for specific affected versions and patches.
If I don't use Intel network adapters, am I affected?
No. The ice driver is specific to Intel Ethernet adapters. If your system does not include Intel NICs or the ice driver is not loaded, you are not vulnerable to this CVE. Verify with: lsmod | grep ice. If the output is empty, you are not at risk from this vulnerability.
What is the difference between this and a typical use-after-free vulnerability?
This vulnerability combines use-after-free (CWE-416) with double-free (CWE-415) in a single bug: the same buffer is freed twice under specific conditions (transmission failure followed by interface shutdown). Most use-after-free bugs involve reading freed memory; this one involves freeing already-freed memory, which causes more severe corruption and kernel crashes.
This analysis is based on the CVE record, vendor advisories, and kernel source documentation current as of the publication and modification dates provided. Actual vulnerability impact may vary by system configuration, kernel version, and workload. Organizations must verify patch applicability and compatibility with their specific Linux distributions and versions before deployment. No exploit code or weaponized proof-of-concept is provided herein. Security teams should consult official vendor advisories (Red Hat Security Advisories, Ubuntu Security Notices, Debian Security Advisories) for their specific platforms. CVSS scores reflect standardized severity; actual organizational risk depends on exposure, threat model, and compensating controls. Source: NVD (public-domain), retrieved 2026-07-31. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-44422HIGHFreeRDP RDPEAR Double-Free Vulnerability (HIGH Severity)
- CVE-2026-10001HIGHChrome Sandbox Escape via PerformanceManager Use-After-Free
- CVE-2026-10002HIGHGoogle Chrome PDFium Use-After-Free Vulnerability (CVSS 8.8)
- CVE-2026-10003HIGHChrome Use-After-Free Code Execution Vulnerability Analysis
- CVE-2026-10007HIGHChrome Use-After-Free in SVG Arbitrary Code Execution (CVSS 8.8)
- CVE-2026-10012HIGHChrome Skia Use-After-Free Sandbox Escape (v148.0.7778.216)
- CVE-2026-10013HIGHUse-After-Free in Chrome WebCodecs – Patch Guide & Risk Assessment
- CVE-2026-10016HIGHUse-After-Free in Chrome DOM – Sandbox Code Execution Vulnerability