{"id":13917,"date":"2026-06-27T10:03:58","date_gmt":"2026-06-27T10:03:58","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/06\/27\/new-dirtyclone-linux-vulnerability-allows-attackers-to-gain-root-access-via-cloned-packets\/"},"modified":"2026-06-27T10:03:58","modified_gmt":"2026-06-27T10:03:58","slug":"new-dirtyclone-linux-vulnerability-allows-attackers-to-gain-root-access-via-cloned-packets","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/06\/27\/new-dirtyclone-linux-vulnerability-allows-attackers-to-gain-root-access-via-cloned-packets\/","title":{"rendered":"New DirtyClone Linux Vulnerability Allows Attackers to Gain Root Access Via Cloned Packets"},"content":{"rendered":"<p>    New DirtyClone Linux Vulnerability Allows Attackers to Gain Root Access Via Cloned Packets<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p class=\"wp-block-paragraph\">A new Linux kernel local privilege escalation vulnerability, dubbed \u201cDirtyClone\u201d (CVE-2026-43503), that allows unprivileged local users to gain full root access by manipulating cloned network packets through the XFRM\/IPsec subsystem, all without leaving a trace in kernel logs or audit records.<\/p>\n<p class=\"wp-block-paragraph\">DirtyClone is a high-severity variant in the DirtyFrag vulnerability family, a class of Linux kernel memory corruption bugs affecting how socket buffers (skb) reference shared page-cache memory.<\/p>\n<p class=\"wp-block-paragraph\">Tracked as CVE-2026-43503, uncovered by JFrog Security Research\u00a0with a CVSS score of 8.8, it was discovered by JFrog\u2019s Security Research team during an audit of Linux kernel patches addressing earlier DirtyFrag fixes.<\/p>\n<p class=\"wp-block-paragraph\">The core issue lies in the <code>__pskb_copy_fclone()<\/code> function, which drops the <code>SKBFL_SHARED_FRAG<\/code> safety flag during packet cloning, the same critical flag that the original DirtyFrag mitigation introduced to protect file-backed page cache memory.<\/p>\n<p class=\"wp-block-paragraph\">Unlike its predecessor, DirtyClone exploits a packet cloning path rather than a direct splice path, specifically triggered by the Linux netfilter TEE target that duplicates packets internally using <code>__pskb_copy_fclone()<\/code>.<\/p>\n<p class=\"wp-block-paragraph\">The vulnerability was independently reported by JFrog on May 19, 2026, coinciding with a broader upstream report from original DirtyFrag researcher Hyunwoo Kim on May 16.<\/p>\n<h2 id=\"h-the-dirtyfrag-vulnerability-family\" class=\"wp-block-heading\"><strong>The DirtyFrag Vulnerability Family<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">DirtyFrag, Fragnesia, and DirtyClone are sibling vulnerabilities, not a chain sharing the same underlying exploitation primitive. All three exploit the kernel\u2019s failure to strictly separate three memory roles: file-backed page cache, networking buffers (skb), and in-place cryptographic transformations.<\/p>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th class=\"has-text-align-left\" data-align=\"left\">Vulnerability<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">CVE<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Disclosed<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Subsystem<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Write Primitive<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Root Required?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong><a href=\"https:\/\/cybersecuritynews.com\/linux-kernel-0-day-copy-fail\/\" target=\"_blank\" rel=\"noreferrer noopener\">Copy Fail<\/a><\/strong><\/td>\n<td>CVE-2026-31431<\/td>\n<td>April 30, 2026<\/td>\n<td>\n<code>algif_aead<\/code>\u00a0(AF_ALG crypto)<\/td>\n<td>4-byte page-cache write<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong><a href=\"https:\/\/cybersecuritynews.com\/dirty-frag-linux-vulnerability\/\" target=\"_blank\" rel=\"noreferrer noopener\">DirtyFrag<\/a><\/strong><\/td>\n<td>CVE-2026-43284 \/ CVE-2026-43500<\/td>\n<td>May 8, 2026<\/td>\n<td>IPsec ESP (xfrm) + RxRPC<\/td>\n<td>Full write primitive (chained)<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong><a href=\"https:\/\/cybersecuritynews.com\/fragnesia-linux-vulnerability\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fragnesia<\/a><\/strong><\/td>\n<td>CVE-2026-46300<\/td>\n<td>May 14, 2026<\/td>\n<td>XFRM ESP-in-TCP<\/td>\n<td>Arbitrary byte write<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><strong><a href=\"https:\/\/cybersecuritynews.com\/linux-pedit-cow-exploit\/\" target=\"_blank\" rel=\"noreferrer noopener\">pedit COW<\/a><\/strong><\/td>\n<td>CVE-2026-46331<\/td>\n<td>June 26, 2026<\/td>\n<td><code>net\/sched act_pedit<\/code><\/td>\n<td>Out-of-bounds page-cache write<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\">The original DirtyFrag fix (CVE-2026-43284) introduced the <code>SKBFL_SHARED_FRAG<\/code> flag to protect spliced UDP packets, but subsequent variants like Fragnesia (CVE-2026-46300) and DirtyClone demonstrated that this flag could be silently dropped across multiple code paths.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgnEe2DRnHsTBgLNVWYQ1eKD3wVzf8E7L_07NgtvMTu4SsCDoHNmR3xVJRsDonATGk6S5Dr07BdYEDnAQ6XxSa0bpelUFInSVPlhKPuP_pMx61OvcvFOJMdpGgElig_gYainxqAX1B3OsQ9ouXiyE5Jn2hbZTJBRTEwLJ1fQIOyy0Z1ade_DU6kot2m0GHd\/w640-h426\/DirtyClone1.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\">DirtyClone Linux Vulnerability<\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">The key insight from JFrog\u2019s research is that the attack primitive is not path-specific; any skb transformation that drops the shared-frag marker becomes an exploitation vector.<\/p>\n<h2 id=\"h-how-the-attack-works\" class=\"wp-block-heading\"><strong>How the Attack Works<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">The DirtyClone exploit chains seven steps to achieve privilege escalation:<\/p>\n<ol class=\"wp-block-list\">\n<li>\n<strong>Map a privileged binary<\/strong> \u2014 The attacker memory-maps <code>\/usr\/bin\/su<\/code>, loading it into the kernel\u2019s page cache as the write target<\/li>\n<li>\n<strong>Splice page-cache memory into a packet<\/strong> \u2014 Using <code>vmsplice<\/code> and <code>splice<\/code>, the attacker attaches file-backed pages directly into a UDP socket buffer (skb) without copying<\/li>\n<li>\n<strong>Configure a loopback IPsec tunnel<\/strong> \u2014 A local XFRM\/ESP tunnel is set up via <code>unshare -Urn<\/code> to obtain <code>CAP_NET_ADMIN<\/code> inside a user namespace, keeping all traffic kernel-local<\/li>\n<li>\n<strong>Trigger packet cloning via TEE<\/strong> \u2014 A netfilter TEE rule forces packet duplication through <code>__pskb_copy_fclone()<\/code>, creating a cloned skb that <strong>loses<\/strong> the <code>SKBFL_SHARED_FRAG<\/code> flag<\/li>\n<li>\n<strong>Force in-place IPsec decryption<\/strong> \u2014 The cloned skb reaches <code>esp_input()<\/code>, where IPsec decrypts the payload directly into the buffer \u2014 which still references the page cache page of <code>\/usr\/bin\/su<\/code>\n<\/li>\n<li>\n<strong>Controlled overwrite using AES-CBC<\/strong> \u2014 By manipulating the encryption key, IV, and packet layout, the attacker computes ciphertext that decrypts into specific target bytes, patching authentication logic inside the binary\u2019s in-memory copy<\/li>\n<li>\n<strong>Execute the modified binary<\/strong> \u2014 The next execution of <code>su<\/code> uses the modified cached page, bypassing authentication and granting root.<\/li>\n<\/ol>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"image6\" width=\"696\" height=\"522\" src=\"https:\/\/www.youtube.com\/embed\/dPR_Sdk4bYU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div>\n<\/figure>\n<p class=\"wp-block-paragraph\">The disk file remains entirely unchanged, making the attack invisible to file-integrity monitoring tools and leaving no kernel audit trail.<\/p>\n<h2 id=\"h-affected-systems\" class=\"wp-block-heading\"><strong>Affected Systems<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">CVE-2026-43503 affects a broad range of modern Linux distributions where unprivileged user namespaces are enabled:<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Debian<\/strong> \u2014 Vulnerable by default; unprivileged namespaces enabled<\/li>\n<li>\n<strong>Fedora<\/strong> \u2014 Vulnerable by default; unprivileged namespaces enabled<\/li>\n<li>\n<strong>Ubuntu<\/strong> \u2014 Partially mitigated on 24.04+ via AppArmor namespace restrictions, but still listed as affected<\/li>\n<li>\n<strong>Cloud and container environments<\/strong> \u2014 Kubernetes clusters, multi-tenant clouds, and containerized workloads with enabled user namespaces face the highest risk<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Any kernel lacking the complete DirtyFrag patch chain \u2014 including CVE-2026-46300 and CVE-2026-43503 fixes remains exploitable even if the original DirtyFrag patches were applied.<\/p>\n<p class=\"wp-block-paragraph\">The fix was merged into Linux mainline on May 21, 2026 (commit <code>48f6a5356a33<\/code>), and the first fixed release tag is Linux v7.1-rc5 (May 24, 2026). The class-wide propagation fix ensures <code>SKBFL_SHARED_FRAG<\/code> is preserved across all skb copy\/clone, coalesce, GRO receive, and segment paths.<\/p>\n<p class=\"wp-block-paragraph\"><strong>Immediate actions:<\/strong><\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Update<\/strong> the Linux kernel to v7.1-rc5 or apply the backported CVE-2026-43503 patch from your distribution.<\/li>\n<li>\n<strong>Restrict user namespaces<\/strong> by setting <code>kernel.unprivileged_userns_clone=0<\/code> on Debian\/Ubuntu systems.<\/li>\n<li>\n<strong>Blacklist kernel modules<\/strong> <code>esp4<\/code>, <code>esp6<\/code>, and <code>rxrpc<\/code> if IPsec is not in use to block the in-place decryption primitive.<\/li>\n<li>\n<strong>Drop page cache<\/strong> after applying mitigations (<code>echo 3 &gt; \/proc\/sys\/vm\/drop_caches<\/code>) to evict any potentially tampered pages.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/research.jfrog.com\/post\/dissecting-and-exploiting-linux-lpe-variant-dirtyclone-cve-2026-43503\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">No public PoC existed prior to JFrog\u2019s research publication<\/a>; JFrog has withheld the release of the full exploit code while distributions complete patch rollouts.<\/p>\n<p class=\"has-text-align-center has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 91%,rgb(169,184,195) 100%)\"><strong><strong><strong>Upgrade your proactive defense against attacks. Access\u00a0<a href=\"https:\/\/any.run\/cybersecurity-blog\/threat-hunting-for-soc-and-mssp\/?utm_source=csn&amp;utm_medium=links&amp;utm_campaign=threat+hunter&amp;utm_content=blog&amp;utm_term=250626\" target=\"_blank\" rel=\"noreferrer noopener\">5 proven threat hunting tactics<\/a>\u00a0you can deploy in your SOC<\/strong><\/strong><\/strong>.<\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/dirtyclone-linux-vulnerability\/\">New DirtyClone Linux Vulnerability Allows Attackers to Gain Root Access Via Cloned Packets<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Guru Baran<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/dirtyclone-linux-vulnerability\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>New DirtyClone Linux Vulnerability Allows Attackers to Gain Root Access Via Cloned Packets A new Linux kernel local privilege escalation vulnerability, dubbed \u201cDirtyClone\u201d (CVE-2026-43503), that allows unprivileged local users to gain full root access by manipulating cloned network packets through the XFRM\/IPsec subsystem, all without leaving a trace in kernel logs or audit records. DirtyClone [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63,131,648],"tags":[130],"class_list":["post-13917","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-vulnerability","category-vulnerability-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13917"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=13917"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13917\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=13917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=13917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=13917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}