Strona główna/Blog/Nextcloud: luka CVE-2026-110447 w aplikacji Built-in CODE Server
WWWKrytyczna

Nextcloud: luka CVE-2026-110447 w aplikacji Built-in CODE Server

Firmy, które edytują dokumenty w Nextcloud przez wbudowany serwer Collabora, mogą mieć na serwerze webshell od września. Sama aktualizacja nie wystarczy, trzeba też sprawdzić, czy nikt nie wszedł wcześniej.

Opublikowano: 26 października 2026 · Podatności: CVE-2026-110447

Otwarte turkusowe drzwi w białej ścianie budynku

Co jest podatne, a co nie

Problem dotyczy tylko jednej aplikacji z marketu Nextcloud: Collabora Online – Built-in CODE Server (nazwa techniczna richdocumentscode). To wygodny wariant dla mniejszych instalacji: Nextcloud sam pobiera i uruchamia lokalny serwer dokumentów, bez osobnej maszyny czy kontenera. Do jego uruchamiania służy skrypt proxy.php. Gdy serwer dokumentów nie działa, odpowiednio przygotowane zapytanie do tego skryptu kończy się wykonaniem dowolnego polecenia systemowego z uprawnieniami użytkownika serwera WWW (zwykle www-data). Logowanie nie jest potrzebne.

Nie są podatne: samodzielne serwery Collabora Online, instalacje z obrazów Docker i paczek RPM/DEB, Nextcloud All-in-One oraz Collabora w usłudze hostowanej. Jeśli firma korzysta z aplikacji richdocuments (Nextcloud Office) połączonej z osobnym serwerem Collabora, ta luka jej nie dotyczy.

Dlaczego to pilne mimo warunku

Atak działa tylko wtedy, gdy wbudowany serwer CODE nie jest uruchomiony. Brzmi to jak poważne ograniczenie, ale w praktyce taki stan zdarza się często: po restarcie serwera lub kontenera, po aktualizacji, po awarii procesu, a także wtedy, gdy nikt od dawna nie otwierał dokumentu. Collabora ocenia lukę na 9,2 w skali CVSS 4.0 (krytyczna).

Luka jest wykorzystywana. Administratorzy zgłaszali włamania od 10 września 2026 r. Atakujący zostawiali w katalogu aplikacji pliki PHP o nazwach zaczynających się od shx (webshelle), a potem szukali na serwerze baz menedżerów haseł (*.kdbx) i portfeli kryptowalut. 23 października CISA dopisała CVE-2026-110447 do katalogu KEV. Poprawka wyszła 11 września, ale komunikat bezpieczeństwa i numer CVE opublikowano dopiero 14 października, więc wiele serwerów przez miesiąc nie dostało żadnego sygnału, że trzeba aktualizować.

Naszym zdaniem każdą instalację z tą aplikacją, dostępną z internetu, należy załatać dzisiaj i od razu sprawdzić pod kątem włamania. Tu nie ma na co czekać do okna serwisowego.

Wersje

  • Podatne: richdocumentscode w wersjach poniżej 26.4.303.
  • Poprawione: 26.4.303 i nowsze.
  • Nextcloud 29 i starsze (bez wsparcia): producent zaleca aktualizację Nextcloud albo usunięcie aplikacji.

Istnieje też wariant richdocumentscode_arm64 dla serwerów ARM. Producent nie określił jednoznacznie, czy jest podatny, dlatego zalecamy traktować go tak samo.

Jak sprawdzić instalację

Na serwerze Nextcloud, z katalogu instalacji i jako użytkownik serwera WWW:

  • sudo -u www-data php occ app:list | grep -i richdocumentscode pokazuje, czy aplikacja jest zainstalowana i w jakiej wersji. Liczy się także stan „disabled”: wyłączenie aplikacji nie chroni przed atakiem.
  • ls -la apps/richdocumentscode/*.php oraz find apps/ -name 'shx*.php' pozwalają wyszukać obce pliki PHP.
  • sudo -u www-data php occ integrity:check-app richdocumentscode zgłasza pliki, których nie ma w oficjalnej paczce (w zgłoszonych przypadkach webshell pojawiał się jako EXTRA_FILE).
  • W logach serwera WWW warto wyszukać zapytania do richdocumentscode/proxy.php od 10 września, np. grep 'richdocumentscode/proxy.php' /var/log/nginx/access.log* (lub odpowiednik dla Apache). Podejrzane są zapytania z %2e%2e, $(, ${IFS} albo ciągami base64.

Co zrobić

  1. Zaktualizować aplikację: sudo -u www-data php occ app:update richdocumentscode. Jeśli edycja dokumentów nie jest używana, lepiej ją usunąć: occ app:remove richdocumentscode.
  2. Usunąć znalezione pliki shx*.php i inne obce skrypty. Aktualizacja nie usuwa webshelli, które już są na serwerze.
  3. Jeśli w logach lub na dysku są ślady ataku, traktować serwer jako przejęty na poziomie użytkownika www-data. Należy zmienić hasło do bazy danych z config.php, hasła aplikacji i klucze, które ten użytkownik mógł odczytać, oraz sprawdzić crontab, procesy i inne katalogi aplikacji. Zgłoszenia z ataków nie wskazują na przejęcie konta root, ale dane dostępne dla serwera WWW (w tym pliki użytkowników) należy uznać za ujawnione. Przy danych osobowych trzeba też ocenić obowiązek zgłoszenia naruszenia do UODO.

Wniosek na przyszłość

Ta luka pokazuje dwa słabe punkty. Pierwszy to aplikacje dodatkowe w Nextcloud, WordPressie czy podobnych systemach: rzadko trafiają do spisu oprogramowania, a mają takie same uprawnienia jak cały system. Drugi to opóźnione komunikaty: poprawka była dostępna miesiąc przed numerem CVE. Firmy, które aktualizują dodatki automatycznie lub w stałym rytmie, były bezpieczne od połowy września. Te, które czekają na alert bezpieczeństwa, dowiedziały się o problemie, gdy ataki trwały już od kilku tygodni.

Stała opieka IT

W ramach stałej opieki IT pilnujemy aktualizacji systemów i reagujemy na nowe podatności, zanim zostaną wykorzystane.

Umów konsultację