<?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/tags/exploit/</link>
    <description>Recent content in Exploit on vmlinuz</description>
    <generator>Hugo</generator>
    <language>pl</language>
    <copyright>2025-2026 vmlinuz.pl</copyright>
    <lastBuildDate>Sun, 31 May 2026 10:00:00 +0100</lastBuildDate>
    <atom:link href="https://vmlinuz.pl/tags/exploit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Dirty Frag: czwarty sposób na roota przez page cache (CVE-2026-43284, CVE-2026-43500)</title>
      <link>https://vmlinuz.pl/posts/dirty-frag/</link>
      <pubDate>Sun, 31 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/posts/dirty-frag/</guid>
      <description>&lt;p&gt;Tydzień po &lt;a href=&#34;https://vmlinuz.pl/posts/copy-fail/&#34;&gt;CopyFailu&lt;/a&gt; Hyunwoo Kim ujawnił kolejną lokalną eskalację uprawnień opartą o ten sam prymityw: zapis do page cache pliku tylko do odczytu. Tym razem nie przez crypto, tylko przez obsługę fragmentacji w dwóch protokołach sieciowych. Nazwa: &lt;strong&gt;Dirty Frag&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To nie jest pojedynczy bug, tylko &lt;strong&gt;łańcuch dwóch CVE&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;CVE-2026-43284&lt;/strong&gt; w modułach ESP (Encapsulating Security Payload, czyli IPsec): &lt;code&gt;esp4&lt;/code&gt;, &lt;code&gt;esp6&lt;/code&gt;. CVSS 8.8 wg kernel.org, 7.8 wg CISA. Kod podatny od około 2017 (jądra 4.x).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;CVE-2026-43500&lt;/strong&gt; w RxRPC (protokół AFS): moduł &lt;code&gt;rxrpc&lt;/code&gt;. CVSS 7.8. Podatne od około 2023 (jądra 6.2+).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;dlaczego-to-ta-sama-rodzina&#34;&gt;Dlaczego to ta sama rodzina&lt;/h2&gt;&#xA;&lt;p&gt;Dirty COW, Dirty Pipe i CopyFail miały wspólny mianownik: nieautoryzowany zapis do page cache daje natychmiastową eskalację, bo można podmienić zawartość pliku, który system uznaje za zaufany (np. &lt;code&gt;/usr/bin/su&lt;/code&gt;). Dirty Frag robi dokładnie to samo, tylko punktem wejścia jest błędna obsługa fragmentów w ESP i RxRPC. Stąd „Frag&amp;quot; w nazwie.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kernel Security Checker: sprawdź, czy Twoja wersja jądra ma znane exploity</title>
      <link>https://vmlinuz.pl/posts/kernel-security-checker-cve/</link>
      <pubDate>Thu, 28 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/posts/kernel-security-checker-cve/</guid>
      <description>&lt;p&gt;Dotychczas &lt;a href=&#34;https://vmlinuz.pl/kernel-checker/&#34;&gt;Kernel Security Checker&lt;/a&gt; odpowiadał na jedno pytanie: &lt;em&gt;jak dobrze zahardenowany jest mój kernel?&lt;/em&gt; Analizował konfigurację (kconfig, sysctl, cmdline) i pokazywał, które opcje warto włączyć.&lt;/p&gt;&#xA;&lt;p&gt;To jednak nie mówi wszystkiego. Dobrze skonfigurowany kernel w starej wersji nadal może mieć dziury, na które od dawna krąży publiczny exploit. Dlatego doszła druga sekcja: &lt;strong&gt;Podatności&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;co-robi-nowa-zakładka-cve&#34;&gt;Co robi nowa zakładka CVE&lt;/h2&gt;&#xA;&lt;p&gt;Wpisujesz wersję swojego jądra (to, co zwraca &lt;code&gt;uname -r&lt;/code&gt;), a narzędzie pokazuje listę znanych publicznych exploitów dopasowanych do tej wersji. Dla każdego trafienia dostajesz:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dirty COW, Dirty Pipe, CopyFail: trzy sposoby na roota przez page cache</title>
      <link>https://vmlinuz.pl/posts/dirty-cow-dirty-pipe-copyfail/</link>
      <pubDate>Wed, 27 May 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/posts/dirty-cow-dirty-pipe-copyfail/</guid>
      <description>&lt;p&gt;Trzy podatności, trzy różne podsystemy kernela, ten sam efekt: nieuprzywilejowany użytkownik zapisuje dane do page cache pliku tylko do odczytu i zostaje rootem. Dirty COW potrzebował race condition. Dirty Pipe był deterministyczny. CopyFail robi to samo w 732 bajtach Pythona.&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;Kiedy:&lt;/strong&gt; w kernelu od 2007, odkryty w 2016. Siedział &lt;strong&gt;9 lat&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Gdzie:&lt;/strong&gt; &lt;code&gt;mm/gup.c&lt;/code&gt;, obsługa copy-on-write w &lt;code&gt;get_user_pages()&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Jak działa:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Kernel przy zapisie do prywatnego mapowania pliku (MAP_PRIVATE) powinien najpierw utworzyć kopię COW, a potem zapisać. Problem w tym, że te dwie operacje nie były atomowe.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CopyFail (CVE-2026-31431) — 9 lat ukrytej eskalacji uprawnień w kernelu</title>
      <link>https://vmlinuz.pl/posts/copy-fail/</link>
      <pubDate>Wed, 29 Apr 2026 14:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/posts/copy-fail/</guid>
      <description>&lt;p&gt;29 kwietnia ujawniono publicznie CVE-2026-31431, nazwaną &amp;ldquo;CopyFail&amp;rdquo;. Podatność siedziała w kernelu przez 9 lat — od 2017 roku. Pozwala każdemu lokalnemu użytkownikowi uzyskać roota. Bez race condition, bez zgadywania offsetów, ze 100% skutecznością. Cały exploit mieści się w 732-bajtowym skrypcie Pythona.&lt;/p&gt;&#xA;&lt;h2 id=&#34;co-jest-podatne&#34;&gt;Co jest podatne&lt;/h2&gt;&#xA;&lt;p&gt;Moduł &lt;code&gt;algif_aead&lt;/code&gt; w podsystemie kryptograficznym kernela (AF_ALG). Dotyczy praktycznie każdej dystrybucji z kernelem zbudowanym od 2017 roku:&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; — lokalny dostęp, niskie uprawnienia, brak interakcji użytkownika.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
