Najnowsza luka w jądrze Linuxa nie ma wymyślnej nazwy; nazywa się po prostu „ssh‑keysign‑pwn”. To już czwarty głośny lokalny błąd bezpieczeństwa w Linuxie w ciągu zaledwie kilku tygodni. Ten umożliwia zwykłym użytkownikom ciche czytanie jednych z najwrażliwszych plików w systemie, w tym prywatnych kluczy hosta Secure Shell (SSH) oraz pliku haseł shadow.

Luka otrzymała przydomek „ssh‑keysign‑pwn” od jednej z głównych ścieżek eksploatacji: nadużywania binarnego pomocnika ssh-keysign z OpenSSH. Keysign jest używany do uwierzytelniania opartego na hoście i zazwyczaj działa z uprawnieniami setuid root, otwierając klucze hosta SSH przed obniżeniem uprawnień w celu wykonania swojej pracy.

Badacze bezpieczeństwa z firmy Qualys ujawnili CVE‑2026‑46333, lukę ujawniania informacji w sprawdzeniu dostępu ptrace jądra Linuxa. Qualys twierdzi, że istnieje w takiej czy innej formie od około sześciu lat.

Błąd tkwi w logice __ptrace_may_access(), która działa, gdy procesy się kończą. W pewnych warunkach jądro pomija normalne sprawdzenia „dumpable”, gdy proces straci już swoje mapowanie pamięci. Otwiera to krótkie okno dla innego procesu, by ukraść jego deskryptory plików.

Chociaż ssh‑keysign‑pwn sam w sobie nie daje pełnej powłoki roota, możliwość eksfiltracji kluczy hosta i skrótów haseł jest potężnym budulcem do ruchu bocznego i długoterminowej trwałości. Ponadto, dzięki skradzionym kluczom hosta SSH, atakujący mogą podszywać się pod maszyny w relacjach zaufania opartych na hoście. Mając dostęp do katalogu shadow, mogą próbować offline'owego łamania haseł i używać tych poświadczeń w innych systemach.

W swojej łatce Linus Torvalds wyjaśnił, że problem istnieje, ponieważ „Mamy jeden dziwny przypadek szczególny: ptrace_may_access() używa 'dumpable' do sprawdzania różnych innych rzeczy całkowicie niezależnie od MM (zazwyczaj jawnie używając flag takich jak PTRACE_MODE_READ_FSCREDS). W tym dla wątków, które nie mają już VM (i być może nigdy nie miały, jak większość wątków jądra). To nie jest do tego przeznaczone, ale tak już jest.”

Co to oznacza dla ciebie i dla mnie? Łącząc ten błąd logiczny z wywołaniem systemowym pidfd_getfd(2), nieuprzywilejowani użytkownicy mogą sięgnąć do uprzywilejowanych procesów, które są w trakcie wyłączania, przechwycić ich wciąż otwarte deskryptory plików, a następnie czytać pliki normalnie dostępne tylko dla roota.

Dobra wiadomość jest taka, że łatka jest gotowa. Opiekun stabilnego jądra Linuxa, Greg Kroah‑Hartman, już rozesłał aktualizacje w wielu wspieranych gałęziach, w tym nowe wydania takie jak 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207 i 5.10.256, wszystkie zawierające poprawkę ssh‑keysign‑pwn. Warto jak najszybciej przejść na jedno z tych jąder. Luka dotyczy wszystkich jąder Linuxa wydanych przed 14 maja 2026.

Do czasu powszechnej dostępności załatanych jąder, zespoły bezpieczeństwa mają pewne opcje łagodzenia, ale każda wiąże się z kompromisami. Jednym z szybkich i brudnych rozwiązań jest zaostrzenie restrykcji ptrace Yama w Linuxie, co wyłącza ptrace dla nie‑rootów i blokuje exploit, ale też psuje wiele przepływów debugowania i monitorowania. Można też zmniejszyć ekspozycję, wyłączając uwierzytelnianie SSH oparte na hoście i pomocnika ssh-keysign całkowicie w systemach, gdzie nie są potrzebne, choć to zatrzymuje SSH w miejscu.

Jak ujął to jeden zmęczony członek zespołu Manjaro Linux: „Nie uruchamiaj swojego PC, jeśli go nie potrzebujesz. Zamknij się i patrz przez ramię.” Cóż, to na pewno jeden ze sposobów radzenia sobie z tym!