W jądrze Linux zidentyfikowano czwartą lukę w ciągu ostatnich dwóch tygodni (CVE-2026-46300), która pozwala nieuprzywilejowanemu użytkownikowi uzyskać uprawnienia root poprzez nadpisywanie danych w pamięci podręcznej stron. Luka otrzymała nazwę kodową Fragnesia lub Copy Fail 3.0. Istota luki jest podobna do wcześniej ujawnionych luk Copy Fail i Dirty Frag. Tak jak w przypadku Dirty Frag, nowa luka występuje w podsystemie xfrm-ESP, ale jest spowodowana innym błędem i wymaga osobnej poprawki. Dostępny jest działający exploit.
Luka występuje w jądrach Linux wydanych po 5 maja, wskutek przypadkowej aktywacji poprawki do luki Dirty Frag. Aby usunąć lukę Fragnesia, zaproponowano poprawkę dla jądra Linux. Analiza tej poprawki wykazała, że jest niewystarczająca, po czym przygotowano drugi wariant łatki.
Luka występuje w podsystemie xfrm w implementacji mechanizmu enkapsulacji protokołu ESP (Encapsulating Security Payload) w TCP (ESP-in-TCP, RFC 8229), stosowanym do tunelowania ruchu IPsec przez TCP. Aby wykluczyć nadmierne buforowanie, operacje z użyciem algorytmu AES-GCM były wykonywane na miejscu poprzez operację XOR na danych w pamięci podręcznej stron. Z powodu błędu logicznego powstały warunki umożliwiające nadpisanie 1 bajtu w pamięci podręcznej stron w wybranej lokalizacji. Powtarzając operacje, można bajt po bajcie zmienić zawartość dowolnego pliku w pamięci podręcznej.
Wszystkie operacje odczytu z plików w pierwszej kolejności zwracają zawartość z pamięci podręcznej stron. W przypadku modyfikacji danych w pamięci podręcznej stron, operacje odczytu z pliku prowadzą do zwrócenia nie rzeczywiście przechowywanych na nośniku informacji, lecz zmanipulowanych danych. Eksploatacja luki polega na zmianie pamięci podręcznej stron dla pliku wykonywalnego z flagą suid root, wcześniej odczytanego, aby trafić do pamięci podręcznej. W zaproponowanym przez badaczy exploicie pierwsze 192 bajty pliku /usr/bin/su w pamięci podręcznej zostają nadpisane kodem uruchamiającym /usr/bin/sh. Kolejne uruchomienie narzędzia 'su' skutkuje załadowaniem do pamięci nie oryginalnego pliku wykonywalnego z nośnika, lecz zmienionej kopii z pamięci podręcznej.
Aby wykorzystać podatność Fragnesia, w systemie musi być dozwolone tworzenie przestrzeni nazw identyfikatorów użytkowników (user namespace). W Ubuntu taka operacja jest domyślnie zabroniona, ale może być dozwolona poprzez sysctl „kernel.apparmor_restrict_unprivileged_userns=0” lub profile AppArmor. W innych dystrybucjach dostępność „user namespace” dla nieuprzywilejowanych użytkowników zależy od ustawienia sysctl „kernel.unprivileged_userns_clone” (jeśli 0, to jest zabronione).
Aktualizacje z poprawkami dla jądra Linux i pakietów jądra w dystrybucjach nie zostały jeszcze opublikowane. Status usuwania podatności w dystrybucjach można ocenić na następujących stronach: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Jako obejście zabezpieczeń można zablokować ładowanie modułów jądra esp4 i esp6:
sh -c „printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 2>/dev/null; true”
Źródło: opennet.ru
