HIGH 8.8

CVE-2026-53248: Linux Kernel airoha Use-After-Free Vulnerability (CVSS 8.8)

A use-after-free vulnerability exists in the Linux kernel's airoha network driver. When the driver tears down metadata destinations during cleanup, it frees memory immediately without waiting for all in-flight network packets to finish processing. If a packet is still referencing that freed memory, an attacker can trigger a crash or potentially execute code. The fix ensures proper memory synchronization by using the kernel's refcount and RCU (Read-Copy-Update) mechanism to defer memory deallocation until all active references are complete.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.8 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-416
Affected products
7 configuration(s)
Published / Modified
2026-06-25 / 2026-07-07

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: net: airoha: Fix use-after-free in metadata dst teardown airoha_metadata_dst_free() runs metadata_dst_free() which frees the metadata_dst with kfree() immediately, bypassing the RCU grace period. In the RX path, skb_dst_set_noref() sets a non-refcounted pointer from the skb to the metadata_dst. This function requires RCU read-side protection and the dst must remain valid until all RCU readers complete. Since metadata_dst_free() calls kfree() directly, an use-after-free can occur if any skb still holds a noref pointer to the dst when the driver tears it down. Replace metadata_dst_free() with dst_release() which properly goes through the refcount path: when the refcount drops to zero, it schedules the actual free via call_rcu_hurry(), ensuring all RCU readers have completed before the memory is freed.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-53248 is a use-after-free (CWE-416) in the airoha metadata destination handling path. The vulnerable function airoha_metadata_dst_free() calls metadata_dst_free() which invokes kfree() directly, bypassing RCU grace period enforcement. In the RX path, skb_dst_set_noref() establishes non-refcounted pointers to metadata_dst objects that must remain valid under RCU read-side critical sections. When the driver tears down the destination without respecting RCU semantics, a race condition allows skb packet buffers holding stale pointers to dereference freed memory. The remediation replaces the direct kfree() path with dst_release(), which properly transitions through refcount decrement and uses call_rcu_hurry() to schedule deallocation only after RCU readers complete.

Business impact

This vulnerability can lead to kernel memory corruption and denial of service on systems running affected airoha-based network hardware. Exploitation requires network-level triggering via malformed packets, making it reachable from both local and remote attack vectors depending on network configuration. A successful exploit can crash the kernel or corrupt system memory, resulting in unplanned downtime and potential data loss. Organizations relying on airoha hardware for network infrastructure should prioritize patching to prevent service interruption.

Affected systems

The Linux kernel is affected, specifically systems with airoha network driver support enabled. This includes embedded devices, routers, and network appliances built on MediaTek/airoha chipsets that run a vulnerable Linux kernel version. The vulnerability is present in mainline and stable kernel releases; verify your specific kernel version against the Linux kernel advisory for exact affected series and patch availability.

Exploitability

Exploitation is network-adjacent; an attacker must send crafted network packets to trigger the race condition between packet reception and driver teardown. The CVSS vector (AV:N/AC:L/PR:N/UI:R) indicates network access with low attack complexity and user interaction requirement. While the user interaction component may seem limiting, it likely reflects the need for the driver to be actively processing traffic during teardown. Given the low barrier to packet manipulation and the severity of memory corruption outcomes, this is a practical exploit scenario for attackers with network access to affected systems.

Remediation

Apply a Linux kernel update that includes the fix replacing airoha_metadata_dst_free() call sequences with proper dst_release() semantics. Verify the patch against the official Linux kernel Git repository commit that resolves this issue. For distribution-specific kernels (Ubuntu, Red Hat, Debian, etc.), check your vendor's security advisory for backported patches. Until patched, limit network exposure of affected devices and monitor system logs for kernel oops or memory corruption warnings that may indicate exploitation attempts.

Patch guidance

Obtain and install a patched Linux kernel from your distribution or device vendor that includes the RCU fix for airoha metadata destination handling. The fix modifies the airoha driver's teardown path to use dst_release() instead of direct metadata_dst_free() calls. Verify patch application by confirming the kernel version reports as patched post-reboot. For embedded devices, check with the OEM for firmware updates; do not assume automatic kernel updates. Test in a non-production environment first if feasible, as kernel updates may affect driver behavior or require hardware reconfiguration.

Detection guidance

Monitor system logs for kernel panic messages, particularly those involving 'use-after-free', 'RCU', or 'airoha' driver references. Kernel Address Sanitizer (KASAN) or similar runtime checkers will flag the memory corruption if enabled at build time. Network intrusion detection signatures targeting malformed airoha-protocol packets may assist, though this is driver-specific and unlikely to be widely available. Focus on identifying affected kernel versions in your infrastructure via package management tools (rpm -q, dpkg -l) and cross-referencing against patched version numbers from your vendor advisory.

Why prioritize this

This HIGH severity vulnerability combines network-reachable attack surface, kernel-level memory safety impact, and straightforward exploitation mechanics. The CVSS 8.8 score reflects the combination of high confidentiality, integrity, and availability impact. Although KEV status is not currently active, the simplicity of triggering packet-driven races and the critical role of network drivers in system stability make this a near-term patching priority, particularly for network-facing devices or those in high-traffic environments.

Risk score, explained

CVSS 3.1 score of 8.8 (HIGH) is assigned based on: Network attack vector (AV:N) allowing remote exploitation, low attack complexity (AC:L) requiring no special privilege or account, no privilege requirement (PR:N), user interaction requirement (UI:R) for race condition timing, unchanged scope (S:U), and high impact across confidentiality, integrity, and availability (C:H/I:H/A:H). The user interaction element reflects the dependency on active packet processing during driver teardown rather than requiring explicit user action; the practical exploitability remains high in typical network scenarios.

Frequently asked questions

What hardware is affected by CVE-2026-53248?

Systems running the Linux kernel with the airoha network driver enabled are affected. This primarily includes MediaTek/airoha-based network devices such as certain routers, embedded appliances, and specialized network hardware. Check your device's kernel version and driver configuration to determine exposure. Consumer devices, servers, and enterprise equipment using airoha chipsets are all potentially vulnerable if running unpatched kernel versions.

Can this vulnerability be exploited without network access?

Exploitation requires the ability to send or trigger reception of crafted network packets to the affected airoha interface. While the attack vector is marked as network (AV:N), it typically requires network-level access to the device or the ability to inject packets onto a shared network segment where the device listens. Local attackers on the same network can more easily craft the triggering packets.

What is the difference between the vulnerable and patched code path?

The vulnerable code path uses airoha_metadata_dst_free() which calls metadata_dst_free(), invoking kfree() immediately to deallocate memory. This bypasses the RCU (Read-Copy-Update) grace period that ensures all code holding non-refcounted pointers to the object has finished executing. The patched code path uses dst_release(), which decrements a reference count and schedules the actual memory free via call_rcu_hurry() only after all RCU readers have completed, preventing the use-after-free race.

Is there a workaround if I cannot immediately patch?

Until patching is possible, reduce network exposure of affected devices: disable airoha interfaces if not required, isolate affected devices behind a firewall, or restrict network traffic to trusted sources only. These are temporary measures only. Monitor kernel logs for signs of exploitation and prioritize patching as soon as your change management process permits. Long-term reliance on workarounds rather than patching increases residual risk.

This analysis is based on the vulnerability disclosure and associated patch information available as of the publication date. CVSS scoring and severity assessments reflect the numeric data provided; independent validation is recommended. Patch availability, version numbers, and timelines are subject to vendor advisory updates. Organizations must verify affected product versions, test patches in non-production environments, and consult official vendor advisories before deploying updates. SEC.co makes no warranty regarding the completeness or accuracy of remediation steps; consult kernel maintainers and distribution vendors for authoritative guidance. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).