SCTPhantom: root i ucieczka z kontenera

SCTPhantom (CVE-2026-64564) to poważna luka w jądrze Linux, która może umożliwić zdobycie roota i ucieczkę z kontenera do hosta.

6 sierpnia 2026 • root • PrywatnyInformatyk.pl

Najważniejsze: podatność została skutecznie wykorzystana do lokalnej eskalacji uprawnień oraz przejęcia hosta z poziomu kontenera. W Debianie 13 „Trixie” poprawka znajduje się w pakiecie jądra linux 6.12.101-1. Po aktualizacji wymagane jest ponowne uruchomienie systemu.

Czym jest SCTPhantom?

SCTPhantom to nazwa podatności CVE-2026-64564 odkrytej w obsłudze protokołu SCTP w jądrze Linux. SCTP, czyli Stream Control Transmission Protocol, jest protokołem transportowym używanym między innymi w telekomunikacji, systemach sygnalizacyjnych oraz niektórych wyspecjalizowanych usługach sieciowych.

W przeciwieństwie do typowego połączenia TCP jedna asocjacja SCTP może korzystać z wielu adresów i ścieżek sieciowych. Funkcja ta nazywa się multihomingiem. Protokół pozwala również dynamicznie dodawać i usuwać adresy za pomocą komunikatów ASCONF.

Właśnie w obsłudze usuwania takich adresów znajdował się błąd typu use-after-free, czyli użycie obiektu po zwolnieniu zajmowanej przez niego pamięci.

Na czym polega podatność?

Jądro przechowuje informacje o poszczególnych ścieżkach połączenia SCTP w strukturach nazywanych transportami. Specjalnie przygotowany komunikat ASCONF może najpierw wskazać konkretny transport, następnie go usunąć, a na końcu spowodować ponowne użycie wskaźnika do zwolnionej już pamięci.

W uproszczeniu niebezpieczna sekwencja wygląda następująco:

[wybór ścieżki L] [usunięcie ścieżki L] [usunięcie pozostałych ścieżek]

Po wykonaniu tej sekwencji aktywne połączenie może nadal zawierać wskaźniki do usuniętego obiektu. Jeżeli atakujący umieści w zwolnionym miejscu własne dane, kolejne operacje na gnieździe SCTP mogą potraktować te dane jak prawidłową strukturę jądra.

Błąd został wprowadzony wiele lat temu. Według badaczy sekwencja umożliwiająca jego wykorzystanie była obecna od czasów jądra Linux 2.6.25, dlatego SCTPhantom jest opisywany jako podatność mająca około 18 lat.

Co może osiągnąć atakujący?

Badacze nie ograniczyli się do wywołania awarii. Opracowali pełny łańcuch wykorzystania podatności, który obejmował:

  • pozostawienie aktywnego połączenia ze wskaźnikiem do zwolnionej pamięci;
  • zajęcie tej pamięci kontrolowanym obiektem;
  • ujawnienie adresu strony pamięci jądra;
  • utworzenie kontrolowanego odczytu pamięci;
  • ustalenie położenia kodu jądra pomimo zabezpieczenia KASLR;
  • wywołanie funkcji nadającej procesowi uprawnienia roota;
  • ucieczkę z kontenera i wykonanie operacji jako root na hoście.

Eksploit został sprawdzony między innymi na Debianie 13 z jądrem 6.12.95+deb13-amd64, Ubuntu 24.04, systemie z jądrem 6.6 oraz jądrze rodziny RHEL 9. Badacze ocenili podatność na 8,5 punktu w skali CVSS 4.0.

W teście ucieczki z kontenera pozostawiono aktywny domyślny profil seccomp. Kontener nie posiadał CAP_NET_ADMIN ani CAP_SYS_ADMIN. Sześć z ośmiu prób zakończyło się uzyskaniem uprawnień roota na hoście. Na skuteczność ataku wpływają jednak między innymi dostępność SCTP, możliwość używania gniazd raw i packet, capabilities kontenera, ustawienia przestrzeni nazw oraz polityki LSM.

Czy jest to zdalne przejęcie serwera?

Nie należy obecnie przedstawiać SCTPhantom jako uniwersalnego, nieuwierzytelnionego RCE dostępnego z dowolnego miejsca w Internecie. Publicznie potwierdzono przede wszystkim lokalną eskalację uprawnień i ucieczkę z kontenera.

Sam błąd znajduje się jednak w kodzie przetwarzającym komunikaty SCTP. Ryzyko zdalnego wywołania zależy od tego, czy SCTP jest aktywny, czy istnieje odpowiednia asocjacja, jak skonfigurowano ASCONF i AUTH oraz jakie pakiety może przesłać druga strona połączenia.

Kto powinien potraktować aktualizację priorytetowo?

  • administratorzy hostów Docker, LXC i innych platform kontenerowych;
  • operatorzy usług używających SCTP;
  • administratorzy systemów wielodostępnych;
  • operatorzy serwerów, na których użytkownicy mogą uruchamiać własny kod;
  • administratorzy systemów dopuszczających CAP_NET_RAW w kontenerach;
  • operatorzy infrastruktury telekomunikacyjnej.

Brak modułu sctp na liście aktualnie załadowanych modułów nie zawsze oznacza brak zagrożenia. Moduł może zostać załadowany automatycznie przy pierwszej próbie utworzenia odpowiedniego gniazda.

Jak sprawdzić system?

Wersję uruchomionego jądra oraz podstawowy stan SCTP można sprawdzić poleceniami:

uname -r apt-cache policy linux-image-amd64 lsmod | grep '^sctp' grep -w SCTP /proc/net/protocols sysctl net.sctp.addip_enable net.sctp.addip_noauth_enable 2>/dev/null sysctl kernel.unprivileged_userns_clone 2>/dev/null

Uwaga: samo ustawienie net.sctp.addip_enable=0 i net.sctp.addip_noauth_enable=0 nie daje pełnej ochrony. Badacze wykazali możliwość włączenia wymaganych funkcji dla pojedynczego gniazda oraz użycia prawidłowego komunikatu AUTH.

Jak zainstalować poprawkę w Debianie 13?

Debian usunął podatność w pakiecie źródłowym linux 6.12.101-1. Aktualizację można zainstalować standardowo:

apt update apt full-upgrade reboot

Po restarcie należy ponownie sprawdzić uruchomione jądro:

uname -r

Zainstalowanie nowego pakietu bez restartu nie wystarczy. Do czasu ponownego uruchomienia system nadal pracuje na starym, podatnym jądrze.

Tymczasowe ograniczenie ryzyka

Jeżeli natychmiastowy restart nie jest możliwy, można ograniczyć ryzyko poprzez:

  • wyłączenie i zablokowanie modułu SCTP, jeśli żadna usługa go nie potrzebuje;
  • odebranie kontenerom niepotrzebnego CAP_NET_RAW;
  • ograniczenie nieuprzywilejowanych przestrzeni nazw użytkowników;
  • zablokowanie użytkownikom możliwości ładowania modułów i uruchamiania uprzywilejowanych kontenerów;
  • monitorowanie prób użycia SCTP oraz zmian capabilities kontenerów.

Są to zabezpieczenia pomocnicze. Najpewniejszym rozwiązaniem pozostaje instalacja poprawionego jądra i restart systemu.

Podsumowanie

SCTPhantom jest jedną z najważniejszych podatności usuniętych w aktualizacji DSA-6415-1. Nie jest to wyłącznie teoretyczny błąd powodujący kernel panic. Badacze pokazali działającą eskalację do roota na Debianie 13 oraz ucieczkę z kontenera do systemu hosta.

Administratorzy hostów kontenerowych i systemów, na których dostępny jest SCTP, powinni zainstalować aktualizację w pierwszej kolejności i dopilnować, aby serwer został uruchomiony na poprawionym jądrze.

Źródła

Potrzebujesz pomocy z aktualizacją lub zabezpieczeniem serwera Linux?
W ramach usług PrywatnyInformatyk.pl zajmujemy się administracją, aktualizacjami bezpieczeństwa, monitoringiem oraz zabezpieczaniem serwerów Debian.