Canonical opublikował 20 lipca 2026 biuletyn USN-8569-1 dla Ubuntu 24.04 LTS. Aktualizacja dotyczy pakietu linux-hwe-7.0, czyli jądra Hardware Enablement używanego w scenariuszach, w których administratorzy chcą mieć nowszy kernel na stabilnej bazie LTS. Na liście poprawek znalazły się między innymi błędy klasy local privilege escalation, ryzyko ucieczki z kontenera, luki związane z mechaniką page cache i socket buffer, problemy w AppArmor notifications oraz szeroki zestaw napraw w sterownikach, systemach plików, KVM, BPF, io_uring, netfilter i warstwie sieciowej.

To nie jest kosmetyczna aktualizacja. Jeżeli Ubuntu 24.04 LTS działa jako host kontenerów, runner CI/CD, węzeł Kubernetes, serwer VPN, hypervisor KVM albo maszyna developerska z kontami wielu użytkowników, ten biuletyn powinien trafić do planu utrzymaniowego z wysokim priorytetem. Canonical wskazuje, że po standardowej aktualizacji system wymaga restartu, a ze względu na zmianę ABI konieczna może być rekompilacja i ponowna instalacja zewnętrznych modułów kernela, w tym modułów DKMS.
Co dokładnie wydarzyło się 20 lipca 2026
USN-8569-1 obejmuje Ubuntu 24.04 LTS noble i pakiety obrazu jądra z linii 7.0.0-28.28~24.04.1, w tym warianty linux-image-7.0.0-28-generic, linux-image-generic-hwe-24.04, linux-image-virtual-hwe-24.04 oraz warianty 64k. W praktyce oznacza to, że administrator nie powinien sprawdzać wyłącznie numeru dystrybucji, ale również faktycznie uruchomioną wersję jądra po restarcie.
Najbardziej medialną częścią biuletynu są poprawki związane z rodziną problemów określanych jako Dirty Frag oraz Fragnesia. W USN wymienione są między innymi CVE-2026-43284, CVE-2026-43500, CVE-2026-45998, CVE-2026-46000, CVE-2026-43503 i CVE-2026-46300. Ich wspólnym mianownikiem jest niebezpieczne zachowanie kernela przy obsłudze fragmentów pamięci powiązanych z pakietami sieciowymi i page cache. W opisie Canonical pojawia się konkretny scenariusz: lokalny atakujący może wykorzystać problem do eskalacji uprawnień, a w części przypadków potencjalnie do ucieczki z kontenera.
W aktualizacji znalazły się też poprawki dla błędów procesorowych AMD: CVE-2025-54505, dotyczący niepełnego czyszczenia danych w jednostce dzielenia zmiennoprzecinkowego podczas speculative execution, oraz CVE-2025-54518, dotyczący izolacji współdzielonych zasobów w operation cache wybranych procesorów AMD Zen 2. Dla administratora serwerów wielodostępnych oznacza to, że aktualizacja kernela nie ogranicza się do sieci i kontenerów; obejmuje również twardą warstwę izolacji CPU.
Dlaczego Dirty Frag jest ważny dla Linuxa w produkcji

Dirty Frag został publicznie opisany 7 maja 2026 jako zestaw dwóch lokalnych podatności LPE: CVE-2026-43284 oraz CVE-2026-43500. Pierwsza dotyczy modułów związanych z ESP, czyli Encapsulating Security Payload używanym w IPsec. Druga dotyczy RxRPC, protokołu wykorzystywanego między innymi przez AFS. Canonical wskazywał w maju 2026, że po zastosowaniu aktualizacji jądra obejścia polegające na wyłączaniu modułów nie są już potrzebne, ale bez możliwości patchowania tymczasowa mitigacja polegała na blokowaniu esp4, esp6 i rxrpc.
To istotne, bo sporo środowisk linuksowych ładuje moduły kernela nie dlatego, że świadomie używa każdego protokołu, lecz dlatego, że zależności sieciowe, VPN, testy integracyjne albo stare komponenty storage robią to pośrednio. W przypadku hostów kontenerowych problem jest bardziej dotkliwy: nawet jeżeli podatność wymaga lokalnego wykonania kodu, kontener uruchamiający nieufny workload jest właśnie takim miejscem, w którym lokalne wykonanie kodu należy traktować jako normalny element modelu zagrożeń.
W praktyce kluczowe są trzy pytania: czy host uruchamia kontenery z kodem spoza zaufanej organizacji, czy użytkownicy mają dostęp SSH albo powłokę przez aplikacje webowe oraz czy środowisko używa IPsec lub RxRPC. Jeśli odpowiedź na dwa pierwsze pytania brzmi „tak”, aktualizacja jądra powinna mieć pierwszeństwo przed standardowym oknem miesięcznym. Jeśli odpowiedź na trzecie pytanie brzmi „tak”, nie należy w ciemno stosować mitigacji modułów, bo można przerwać VPN, tunelowanie lub zależności aplikacyjne.
Fragnesia: podobny obszar, inny błąd
USN-8569-1 wymienia również Fragnesia, powiązaną z błędami CVE-2026-43503 i CVE-2026-46300. Opis Canonical wskazuje na logikę w podsystemie XFRM ESP-in-TCP podczas obsługi fragmentów socket buffer. Z perspektywy admina nie trzeba znać każdego detalu implementacyjnego, aby ocenić ryzyko: jeżeli kernel umożliwia lokalnemu procesowi nieprawidłową manipulację danymi w ścieżce sieciowej i page cache, to przy błędnym zestawie warunków może dojść do eskalacji uprawnień.
Warto też zauważyć, że ten typ podatności słabo pasuje do prostego modelu „serwer nie ma otwartego portu, więc jest bezpieczny”. Local privilege escalation często jest drugim etapem ataku. Pierwszym etapem może być skradzione konto SSH, web shell w aplikacji PHP, błąd w panelu administracyjnym, podatna usługa developerska wystawiona do sieci albo wykonanie kodu w kontenerze CI. Dopiero potem atakujący próbuje przejść z użytkownika aplikacyjnego na roota hosta.
AppArmor notifications: mniej medialne, ale ważne dla Ubuntu
W biuletynie pojawia się także seria podatności związanych z AppArmor notifications w jądrach Ubuntu 6.8, 6.17 i 7.0. Canonical wymienia między innymi CVE-2026-47326, CVE-2026-47327, CVE-2026-47328, CVE-2026-47329, CVE-2026-47330, CVE-2026-47332, CVE-2026-47333, CVE-2026-47334 oraz CVE-2026-47337. Skutki obejmują wyciek zasobów, NULL pointer dereference, invalid free, niewystarczającą walidację odpowiedzi, użycie niezainicjalizowanej zmiennej, odczyt poza buforem oraz potencjalne deadlocki lub kernel panic.
Dla serwerów produkcyjnych AppArmor jest często traktowany jako „niewidzialna” warstwa bezpieczeństwa, bo działa domyślnie w Ubuntu i ogranicza profile wybranych usług. Właśnie dlatego błędy w tym obszarze są niewygodne operacyjnie: dotykają mechanizmu, który ma ograniczać skutki kompromitacji procesu. Jeżeli host obsługuje kontenery, snapy, usługi systemowe z profilami AppArmor albo własne profile dla aplikacji, aktualizacja jądra jest również aktualizacją fundamentu polityki MAC.
Jak sprawdzić, czy host wymaga interwencji
Pierwszy krok to ustalenie, jaki kernel faktycznie działa po stronie systemu, a nie tylko jakie pakiety są dostępne w repozytorium. Na Ubuntu 24.04 LTS z jądrem HWE interesuje nas linia 7.0.0-28 lub nowsza z repozytoriów bezpieczeństwa Canonical. Po aktualizacji trzeba wykonać restart, bo sam upgrade pakietu nie przełącza działającego kernela.
uname -r
apt-cache policy linux-image-generic-hwe-24.04 linux-image-virtual-hwe-24.04
dpkg -l | grep linux-image
sudo apt update
sudo apt full-upgrade
sudo reboot
Po restarcie warto wykonać kontrolę powdrożeniową. Minimum to potwierdzenie wersji jądra, statusu usług zależnych od DKMS oraz tego, czy system nie czeka na kolejny restart. W środowiskach z agentami EDR, sterownikami GPU, ZFS, VirtualBox, modułami storage lub vendorowymi modułami sieciowymi sprawdzenie DKMS nie jest dodatkiem, lecz obowiązkowym elementem procedury.
uname -r
systemctl --failed
mokutil --sb-state 2>/dev/null || true
dkms status 2>/dev/null || true
needrestart -r l 2>/dev/null || true
lsmod | egrep 'esp4|esp6|rxrpc|apparmor'
Mitigacje tylko wtedy, gdy nie można patchować
Jeżeli aktualizacja jądra jest możliwa, właściwą ścieżką jest instalacja pakietów i restart. Canonical wprost wskazywał przy Dirty Frag, że mitigacje polegające na wyłączaniu modułów nie są potrzebne po wdrożeniu poprawek. Blokowanie modułów ma sens jako obejście awaryjne, na przykład dla systemu, którego nie można zrestartować przed zamknięciem transakcji, migracją workloadu albo zakończeniem okna biznesowego.
Trzeba jednak rozumieć koszt. Wyłączenie esp4 i esp6 może naruszyć działanie IPsec, w tym wdrożenia oparte o StrongSwan lub inne mechanizmy VPN. Wyłączenie rxrpc może dotknąć AFS lub komponentów zależnych od tego protokołu. Ponieważ Dirty Frag obejmował niezależne ścieżki w ESP i RxRPC, częściowe wyłączenie modułów może pozostawić resztę powierzchni ataku.
printf '%s\n' 'install esp4 /bin/false' | sudo tee /etc/modprobe.d/dirty-frag.conf
printf '%s\n' 'install esp6 /bin/false' | sudo tee -a /etc/modprobe.d/dirty-frag.conf
printf '%s\n' 'install rxrpc /bin/false' | sudo tee -a /etc/modprobe.d/dirty-frag.conf
sudo update-initramfs -u -k all
sudo reboot
Takie obejście należy opisać w dokumentacji incydentu lub change requestu i usunąć po wdrożeniu poprawionego jądra, jeżeli moduły są potrzebne biznesowo. W przeciwnym razie za kilka miesięcy można diagnozować „tajemniczą” awarię VPN, która w rzeczywistości będzie skutkiem awaryjnego wpisu w /etc/modprobe.d.
Co zrobić w środowiskach kontenerowych i CI/CD
Najwyższy priorytet mają hosty, na których lokalne wykonanie kodu przez nie w pełni zaufany podmiot jest normalnym stanem pracy. Dotyczy to runnerów GitLab CI, GitHub Actions self-hosted runners, Jenkins agentów, platform buildowych, środowisk testowych dla pull requestów, węzłów Kubernetes oraz serwerów developerskich z kontami wielu użytkowników.
- Najpierw aktualizuj hosty uruchamiające nieufne workloady: CI/CD, build farmy, klastry testowe i hosty kontenerowe.
- Nie ufaj samej obecności pakietu: po restarcie porównaj uname -r z wersją oczekiwaną po aktualizacji.
- Sprawdź moduły zewnętrzne: DKMS, sterowniki GPU, ZFS, agentów bezpieczeństwa i moduły vendorowe.
- Przejrzyj politykę dostępu lokalnego: zbędne konta SSH i współdzielone konta serwisowe zwiększają skutki LPE.
- Monitoruj anomalie eskalacji: nietypowe uruchomienia su, sudo, nowe pliki ELF w katalogach tymczasowych i modyfikacje plików sesji aplikacyjnych.
W Kubernetes warto podejść do tego jak do aktualizacji bazowego systemu węzła, a nie jak do zwykłego patcha pakietu. Najbezpieczniejszy schemat to cordon, drain, aktualizacja, reboot, test powrotu noda i dopiero przejście do kolejnego węzła. W środowiskach z PodDisruptionBudget trzeba wcześniej sprawdzić, czy aplikacje pozwolą na bezpieczne opróżnienie węzła.
Podsumowanie praktyczne
USN-8569-1 z 20 lipca 2026 to aktualizacja, którą warto potraktować jako poprawkę bezpieczeństwa infrastruktury, a nie rutynowy upgrade kernela. Dla Ubuntu 24.04 LTS z HWE 7.0 sprawdź obecność pakietów 7.0.0-28.28~24.04.1, wykonaj restart, zweryfikuj uname -r, skontroluj DKMS i priorytetowo obsłuż hosty kontenerowe oraz CI/CD. Jeśli nie możesz patchować od razu, rozważ krótkoterminowe wyłączenie esp4, esp6 i rxrpc, ale tylko po ocenie wpływu na IPsec, VPN i AFS. Najważniejsza zasada pozostaje prosta: w przypadku lokalnych eskalacji uprawnień liczy się nie tylko ekspozycja sieciowa, lecz każdy proces, któremu pozwalasz uruchomić kod na hoście.
