Linux Kernel, IPv6 Out-of-Bounds Write, CVE-2026-53362 (Critical) -DC-Aug2026-1984

Listen to this Post

In the Linux kernel, a critical vulnerability has been identified in the IPv6 networking stack, specifically within the `__ip6_append_data()` function. This flaw, designated CVE-2026-53362, stems from an accounting error that can lead to an out-of-bounds write, allowing an unprivileged local attacker to escalate privileges to root.
The vulnerability resides in the kernel’s handling of UDPv6 packets when specific conditions are met. When the `__ip6_append_data()` function processes data and takes the “paged-allocation” path—which occurs with the `MSG_MORE` flag, `NETIF_F_SG` (scatter-gather) support, and a large fragment length—it miscalculates memory sizes.
Normally, when data is fragmented, leftover bytes from a previous packet, known as fraggap, are carried over. The calculation for the new buffer is intended to account for this. However, on this specific paged-allocation path, the `alloclen` (linear area size) is set to fragheaderlen + transhdrlen. When `fraggap` is non-zero, it signifies this is not the first packet, and `transhdrlen` is zero. The code fails to add the `fraggap` bytes to alloclen, making the linear buffer undersized. Concurrently, `pagedlen` (data for paged memory) is miscalculated as datalen - transhdrlen, which overstates the required paged memory by the `fraggap` amount.
This miscalculation causes a critical memory corruption. The `fraggap` bytes from the previous packet are copied directly past the fragment headers in the new, undersized linear area. This copy operation writes past the legitimate `skb->end` boundary and into the adjacent `skb_shared_info` structure. An unprivileged user can trigger this by opening a UDPv6 socket and using the `MSG_MORE` flag in conjunction with MSG_SPLICE_PAGES. The issue was introduced by commit `773ba4fe9104` (“ipv6: avoid partial copy for zc”), and was made exploitable by commit `ce650a166335` (“udp6: Fix __ip6_append_data()’s handling of MSG_SPLICE_PAGES”), which removed an earlier `-EINVAL` return that would have prevented the corruption.

DailyCVE Form:

Platform: Linux Kernel
Version: All vulnerable versions
Vulnerability: Out-of-Bounds Write
Severity: Critical (CVSS 7.8)
date: July 4, 2026

Prediction: Patches available July 2026

What Undercode Say:

To verify if your system is affected, check your kernel version against the patched commits.

uname -r

To check if the vulnerable code path exists, review the kernel source for the presence of the flawed accounting logic in net/ipv6/ip6_output.c.

grep -n "alloclen = fragheaderlen + transhdrlen" net/ipv6/ip6_output.c
grep -n "pagedlen = datalen - transhdrlen" net/ipv6/ip6_output.c

Exploit: (Educational Purposes!)

A proof-of-concept (PoC) to trigger this vulnerability involves creating a UDPv6 socket and sending fragmented packets with the `MSG_MORE` and `MSG_SPLICE_PAGES` flags. The exact exploit code is complex and requires precise control over packet sizes to manipulate the `fraggap` value and cause the out-of-bounds write.

A simplified conceptual example in C:

int sock = socket(AF_INET6, SOCK_DGRAM, 0);
send(sock, buffer, size, MSG_MORE | MSG_SPLICE_PAGES);

By crafting the size of the data to be sent, an attacker can force a specific `fraggap` value. The resulting memory corruption can be used to overwrite function pointers in the `skb_shared_info` structure, leading to arbitrary code execution with kernel privileges.

Protection:

The primary protection is to apply the official kernel patch that corrects the accounting in __ip6_append_data(). The fix involves adding `fraggap` to `alloclen` and subtracting it from pagedlen.

alloclen = fragheaderlen + transhdrlen + fraggap;
pagedlen = datalen - transhdrlen - fraggap;

System administrators should:

  1. Update the kernel to the latest stable version that includes the patch. Refer to the following stable commits:
    – `14200d435af9a9eeb444f529fc2f689a236b7962`
    – `65fb14cbebb0cd0eff903a22d33537ddc8b95769`
    – `46f201f8b4c39633a1fa3dc12459f506d470993d`
    – `6374fb9edf72c67a118a2c214a0dddd04c921e0a`
    – `e9eacf19281ea2498b36291b56c9606118c2d74e`
    – `736b380e28d0480c7bc3e022f1950f31fe53a7c5`
    2. Monitor for security advisories from your Linux distribution vendor for specific backported patches.
  2. Enable Linux Kernel Live Patching solutions (e.g., Kpatch, Kgraft) if available, to apply the fix without rebooting the system.

Impact:

A successful exploitation of this vulnerability allows an unprivileged local attacker to:
– Gain root-level privileges on the affected system.
– Completely compromise the confidentiality, integrity, and availability of the system.
– Execute arbitrary code with kernel-level permissions, bypassing all security restrictions.
– Pivot to other systems on the network if the attacker can establish further access.

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: www.cve.org
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top