<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Exploit on vmlinuz</title>
    <link>https://vmlinuz.pl/en/tags/exploit/</link>
    <description>Recent content in Exploit on vmlinuz</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>2025-2026 vmlinuz.pl</copyright>
    <lastBuildDate>Sun, 31 May 2026 10:00:00 +0100</lastBuildDate>
    <atom:link href="https://vmlinuz.pl/en/tags/exploit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Dirty Frag: A Fourth Way to Root via Page Cache (CVE-2026-43284, CVE-2026-43500)</title>
      <link>https://vmlinuz.pl/en/posts/dirty-frag/</link>
      <pubDate>Sun, 31 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/en/posts/dirty-frag/</guid>
      <description>&lt;p&gt;A week after &lt;a href=&#34;https://vmlinuz.pl/en/posts/copy-fail/&#34;&gt;CopyFail&lt;/a&gt;, Hyunwoo Kim disclosed another local privilege escalation built on the same primitive: a write into the page cache of a read-only file. This time not through crypto, but through fragment handling in two network protocols. The name: &lt;strong&gt;Dirty Frag&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is not a single bug but a &lt;strong&gt;chain of two CVEs&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;CVE-2026-43284&lt;/strong&gt; in the ESP modules (Encapsulating Security Payload, i.e. IPsec): &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt;. CVSS 8.8 per kernel.org, 7.8 per CISA. Vulnerable code since roughly 2017 (4.x kernels).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CVE-2026-43500&lt;/strong&gt; in RxRPC (the AFS protocol): the &lt;code&gt;rxrpc&lt;/code&gt; module. CVSS 7.8. Vulnerable since roughly 2023 (6.2+ kernels).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;why-it-is-the-same-family&#34;&gt;Why it is the same family&lt;/h2&gt;&#xA;&lt;p&gt;Dirty COW, Dirty Pipe and CopyFail shared one denominator: an unauthorized write into page cache grants instant escalation, because you can overwrite the contents of a file the system treats as trusted (e.g. &lt;code&gt;/usr/bin/su&lt;/code&gt;). Dirty Frag does exactly the same, except the entry point is faulty fragment handling in ESP and RxRPC. Hence the &amp;ldquo;Frag&amp;rdquo; in the name.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kernel Security Checker: Check If Your Kernel Version Has Known Exploits</title>
      <link>https://vmlinuz.pl/en/posts/kernel-security-checker-cve/</link>
      <pubDate>Thu, 28 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/en/posts/kernel-security-checker-cve/</guid>
      <description>&lt;p&gt;Until now, &lt;a href=&#34;https://vmlinuz.pl/en/kernel-checker/&#34;&gt;Kernel Security Checker&lt;/a&gt; answered a single question: &lt;em&gt;how well hardened is my kernel?&lt;/em&gt; It analyzed the configuration (kconfig, sysctl, cmdline) and showed which options are worth enabling.&lt;/p&gt;&#xA;&lt;p&gt;But that doesn&amp;rsquo;t tell the whole story. A well-configured kernel on an old version can still have holes with a long-public exploit floating around. So there&amp;rsquo;s now a second section: &lt;strong&gt;Vulnerabilities&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-the-new-cve-tab-does&#34;&gt;What the new CVE tab does&lt;/h2&gt;&#xA;&lt;p&gt;You enter your kernel version (what &lt;code&gt;uname -r&lt;/code&gt; returns) and the tool lists known public exploits matched to that version. For each hit you get:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dirty COW, Dirty Pipe, CopyFail: Three Ways to Root via Page Cache</title>
      <link>https://vmlinuz.pl/en/posts/dirty-cow-dirty-pipe-copyfail/</link>
      <pubDate>Wed, 27 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/en/posts/dirty-cow-dirty-pipe-copyfail/</guid>
      <description>&lt;p&gt;Three vulnerabilities, three different kernel subsystems, same result: an unprivileged user writes data to the page cache of a read-only file and becomes root. Dirty COW needed a race condition. Dirty Pipe was deterministic. CopyFail does the same in 732 bytes of Python.&lt;/p&gt;&#xA;&lt;h2 id=&#34;dirty-cow-cve-2016-5195&#34;&gt;Dirty COW (CVE-2016-5195)&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;When:&lt;/strong&gt; in the kernel since 2007, discovered in 2016. Sat there for &lt;strong&gt;9 years&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Where:&lt;/strong&gt; &lt;code&gt;mm/gup.c&lt;/code&gt;, copy-on-write handling in &lt;code&gt;get_user_pages()&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;When writing to a private file mapping (MAP_PRIVATE), the kernel should first create a COW copy, then write. The problem: these two operations were not atomic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CopyFail (CVE-2026-31431) — 9 Years of Hidden Privilege Escalation in the Kernel</title>
      <link>https://vmlinuz.pl/en/posts/copy-fail/</link>
      <pubDate>Wed, 29 Apr 2026 14:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/en/posts/copy-fail/</guid>
      <description>&lt;p&gt;On April 29th, CVE-2026-31431, dubbed &amp;ldquo;CopyFail&amp;rdquo;, was publicly disclosed. The vulnerability had been sitting in the kernel for 9 years — since 2017. It allows any local user to gain root. No race conditions, no offset guessing, 100% reliability. The entire exploit fits in a 732-byte Python script.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-affected&#34;&gt;What&amp;rsquo;s Affected&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;code&gt;algif_aead&lt;/code&gt; module in the kernel&amp;rsquo;s crypto subsystem (AF_ALG). Affects virtually every distribution with a kernel built since 2017:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ubuntu 20.04 – 24.04&lt;/li&gt;&#xA;&lt;li&gt;RHEL 10.1&lt;/li&gt;&#xA;&lt;li&gt;Amazon Linux 2023&lt;/li&gt;&#xA;&lt;li&gt;SUSE 16&lt;/li&gt;&#xA;&lt;li&gt;Debian, Fedora, Arch, Rocky Linux, AlmaLinux&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;CVSS: &lt;strong&gt;7.8 (HIGH)&lt;/strong&gt; — local access, low privileges, no user interaction required.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
