{"id":17109,"date":"2026-05-08T23:57:01","date_gmt":"2026-05-09T05:57:01","guid":{"rendered":"https:\/\/www.supportpro.com\/blog\/?p=17109"},"modified":"2026-05-08T23:57:07","modified_gmt":"2026-05-09T05:57:07","slug":"dirty-frag-universal-linux-lpe","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/dirty-frag-universal-linux-lpe\/","title":{"rendered":"Dirty Frag: Universal Linux LPE"},"content":{"rendered":"\n<p>Dirty Frag is a vulnerability in Linux that allows an attacker to gain higher access or permissions than they are normally allowed on the system<\/p>\n\n\n\n<p>This vulnerability was disclosed earlier than planned due to an embargo break, which means information about the vulnerability was released publicly before the agreed-upon disclosure date.<\/p>\n\n\n\n<p>It&#8217;s a part of Linux kernel page cache exploits \u2014 following Dirty Pipe (2022) and Copy Fail (earlier this year).<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>What are Linux kernel page cache exploits?<\/strong><\/p>\n\n\n\n<p>The page cache in Linux is a system memory area where frequently accessed file data is temporarily stored.&nbsp;<\/p>\n\n\n\n<p>It speeds up file operations because reading from memory is faster than reading from disk.&nbsp;<\/p>\n\n\n\n<p>However, if an attacker can manipulate the page cache incorrectly, they can sometimes modify memory in ways they shouldn\u2019t, bypassing normal permissions.<\/p>\n\n\n\n<p>So, the dirty Frag uses two Linux kernel bugs (<strong>xfrm-ESP Page-Cache Write<\/strong> and <strong>RxRPC Page-Cache Write<\/strong>) together and tricks the kernel\u2019s page cache to gain root access.<\/p>\n\n\n\n<p><strong>xfrm-ESP Page-Cache Write \u2014<\/strong>The bug exists in Linux\u2019s IPsec networking code, where it skips an important memory safety check.&nbsp;<\/p>\n\n\n\n<p>This bug lets an attacker change a specific part of the kernel\u2019s memory cache, giving them control over that memory, which is a key part of how the Dirty Frag exploit works.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5.jpg\" data-rel=\"penci-gallery-image-content\" ><img fetchpriority=\"high\" decoding=\"async\" width=\"539\" height=\"426\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5.jpg\" alt=\"\" class=\"wp-image-17111\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5.jpg 539w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-300x237.jpg 300w\" sizes=\"(max-width: 539px) 100vw, 539px\" \/><\/a><\/figure>\n\n\n\n<p><strong>RxRPC Page-Cache Write \u2014<\/strong><\/p>\n\n\n\n<p>Another part of Dirty Frag exploits a bug in the RxRPC networking subsystem.<\/p>\n\n\n\n<p>The attacker calculates a key outside the kernel, then uses it to safely overwrite memory, making the exploit work every time. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1.jpg\" data-rel=\"penci-gallery-image-content\" ><img decoding=\"async\" width=\"521\" height=\"430\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1.jpg\" alt=\"\" class=\"wp-image-17112\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1.jpg 521w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1-300x248.jpg 300w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5.png\" data-rel=\"penci-gallery-image-content\" ><img decoding=\"async\" width=\"1024\" height=\"191\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1024x191.png\" alt=\"\" class=\"wp-image-17113\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-1024x191.png 1024w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-300x56.png 300w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-768x143.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5-585x109.png 585w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2026\/05\/image-5.png 1041w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>The (<strong>xfrm-ESP Page-Cache Write<\/strong>) vulnerability affects all recent Linux versions released since 2017. Any unprivileged local user can exploit it to gain full root (administrative) control.<\/p>\n\n\n\n<p>The xfrm-ESP Page-Cache Write vulnerability has existed since 2017, while the RxRPC Page-Cache Write vulnerability appeared in June 2023<\/p>\n\n\n\n<p>To exploit the Dirty Frag vulnerability, an attacker needs some level of initial access to the system. This could include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>compromised website<\/li>\n\n\n\n<li>vulnerable application<\/li>\n\n\n\n<li>stolen SSH credentials.. etc<\/li>\n<\/ul>\n\n\n\n<p>Once an attacker has this initial foothold, they can attempt to escalate privileges to root using Dirty Frag.<\/p>\n\n\n\n<p>The following are the kernel versions where researchers successfully tested the Dirty Frag exploit:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu 24.04.4 \u2192 kernel 6.17.0-23-generic<\/li>\n\n\n\n<li>RHEL 10.1 \u2192 kernel 6.12.0-124.49.1.el10_1.x86_64<\/li>\n\n\n\n<li>openSUSE Tumbleweed \u2192 kernel 7.0.2-1-default<\/li>\n\n\n\n<li>CentOS Stream 10 \u2192 kernel 6.12.0-224.el10.x86_64<\/li>\n\n\n\n<li>AlmaLinux 10 \u2192 kernel 6.12.0-124.52.3.el10_1.x86_64<\/li>\n\n\n\n<li>Fedora 44 \u2192 kernel 6.19.14-300.fc44.x86_64<\/li>\n<\/ul>\n\n\n\n<p>This means that if your server is running one of these kernels, it is likely vulnerable.<\/p>\n\n\n\n<p><strong><em>Temporary workaround until the official patch is released :<\/em><\/strong><\/p>\n\n\n\n<p>Since no official patch was available when Dirty Frag was disclosed, a temporary workaround can help reduce risk.&nbsp;<\/p>\n\n\n\n<p>This involves disabling the vulnerable kernel modules (esp4, esp6, and rxrpc) and clearing the page cache to prevent potential exploits.<\/p>\n\n\n\n<p>This may affect VPN or IPsec services. The permanent fix is to update our systems with the patched kernel once your Linux distribution releases it<\/p>\n\n\n\n<p>You can use the following command to disable the vulnerable kernel modules and clear the page cache:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>sh -c &#8220;printf &#8216;install esp4 \/bin\/false\\ninstall esp6 \/bin\/false\\ninstall rxrpc \/bin\/false\\n&#8217; &gt; \/etc\/modprobe.d\/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2&gt;\/dev\/null; echo 3 &gt; \/proc\/sys\/vm\/drop_caches; true&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p>However, this mitigation comes with a drawback: it disables the esp4, esp6, and rxrpc kernel modules by preventing them from loading<\/p>\n\n\n\n<p>This will break IPsec and RxRPC, which is chiefly used by the AFS distributed file system.&nbsp;<\/p>\n\n\n\n<p>For most desktop systems and general-purpose servers, this has little to no practical impact.&nbsp;<\/p>\n\n\n\n<p>However, organisations that rely on IPsec VPN tunnels using ESP mode should carefully evaluate the tradeoffs before applying this mitigation.<\/p>\n\n\n\n<p>So if this is acceptable, we can mitigate this vulnerability.<\/p>\n\n\n\n<p><strong>Dirty Frag Mitigation on CloudLinux :<\/strong><\/p>\n\n\n\n<p>In terms of CloudLinux, the affected versions are :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>CL7h, CL8 \u2192 CloudLinux kernel<\/p>\n\n\n\n<p>CL9, CL10 \u2192 AlmaLinux kernel used by CloudLinux<\/p>\n<\/blockquote>\n\n\n\n<p>We can also apply the temporary workaround mentioned above until a patched kernel is applied, but as mentioned before , applying this workaround may affect VPN or IPsec services.<\/p>\n\n\n\n<p>For a permanent fix, you have to update to the patched kernel once it\u2019s available in your CloudLinux stream.<\/p>\n\n\n\n<p>Amazon has also acknowledged that the Linux kernel vulnerabilities related to Dirty Frag may affect systems with certain kernel modules loaded, such as esp4, esp6, ipcomp4, ipcomp6, or rxrpc.<\/p>\n\n\n\n<p>Amazon\u2019s suggested mitigations include:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Checking which modules are loaded<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\"><\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>(lsmod | grep -E &#8220;esp4|esp6|ipcomp4|ipcomp6|rxrpc&#8221;).<\/p>\n<\/blockquote>\n\n\n\n<p>2. Disabling modules if they are not needed.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>echo &#8216;install esp4 \/bin\/false&#8217; &gt;&gt; \/etc\/modprobe.d\/cve-copyfail2.conf<\/p>\n\n\n\n<p>echo &#8216;install esp6 \/bin\/false&#8217; &gt;&gt; \/etc\/modprobe.d\/cve-copyfail2.conf<\/p>\n\n\n\n<p>echo &#8216;install ipcomp4 \/bin\/false&#8217; &gt;&gt; \/etc\/modprobe.d\/cve-copyfail2.conf<\/p>\n\n\n\n<p>echo &#8216;install ipcomp6 \/bin\/false&#8217; &gt;&gt; \/etc\/modprobe.d\/cve-copyfail2.conf&nbsp;<\/p>\n\n\n\n<p>echo &#8216;install rxrpc \/bin\/false&#8217; &gt;&gt; \/etc\/modprobe.d\/cve-copyfail2.conf<\/p>\n<\/blockquote>\n\n\n\n<p>3. Restricting creation of user namespaces (sysctl -w user.max_user_namespaces=0).<\/p>\n\n\n\n<p>Since an official patch is not yet available, the recommended approach for now is to apply the suggested workarounds to mitigate the vulnerability. At the same time, staying aware of potential risks and promptly applying patches as soon as they are released is essential for maintaining system security.<\/p>\n\n\n\n<p><strong>Dirty Frag: Universal Linux LPE<\/strong> highlights the importance of strong Linux security practices. While Linux remains one of the most secure operating systems available, no platform is immune to vulnerabilities. Local privilege escalation flaws can become extremely dangerous when systems remain unpatched or poorly configured.<\/p>\n\n\n\n<p>Organisations should focus on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rapid patch <a href=\"https:\/\/www.supportpro.com\/serveradministration.php\" title=\"\">management<\/a><\/li>\n\n\n\n<li>Security <a href=\"https:\/\/www.supportpro.com\/freecheckup.php\" title=\"\">monitoring<\/a><\/li>\n\n\n\n<li>Least privilege policies<\/li>\n\n\n\n<li>Linux hardening<\/li>\n\n\n\n<li><a href=\"https:\/\/www.supportpro.com\/freecheckup.php\" title=\"\">Continuous vulnerability assessments<\/a><\/li>\n<\/ul>\n\n\n\n<p>By combining proactive defence strategies with modern monitoring tools, administrators can significantly reduce the risk posed by Linux privilege escalation attacks.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center has-white-background-color has-background\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Facing issues? <\/p>\n\n\n\n<p class=\"has-large-font-size\">Our technical support<br>engineers can solve it. <\/p>\n\n\n\n<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-3350a795-db50-482f-9911-301930d1b1be\"><span class=\"hs-cta-node hs-cta-3350a795-db50-482f-9911-301930d1b1be\" id=\"hs-cta-3350a795-db50-482f-9911-301930d1b1be\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2725694\/3350a795-db50-482f-9911-301930d1b1be\" ><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-3350a795-db50-482f-9911-301930d1b1be\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/3350a795-db50-482f-9911-301930d1b1be.png\"  alt=\"Contact Us today!\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '3350a795-db50-482f-9911-301930d1b1be', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code -->\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"931\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png\" alt=\"guy server checkup\" class=\"wp-image-12943 size-full\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png 904w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-291x300.png 291w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-768x791.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-585x602.png 585w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dirty Frag is a vulnerability in Linux that allows an attacker to gain higher access or permissions than they are normally allowed on the system This vulnerability was disclosed earlier&hellip;<\/p>\n","protected":false},"author":4,"featured_media":17110,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[91,277,68,4],"tags":[],"class_list":["post-17109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-outsourced-tech-support","category-server-monitoring","category-server-security"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=17109"}],"version-history":[{"count":1,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17109\/revisions"}],"predecessor-version":[{"id":17114,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17109\/revisions\/17114"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media\/17110"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=17109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=17109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=17109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}