Open eClass przed wersją 4.2 z luką RCE przez nieograniczone przesyłanie plików - Security Bez Tabu

Open eClass przed wersją 4.2 z luką RCE przez nieograniczone przesyłanie plików

Cybersecurity news

Wprowadzenie do problemu / definicja

W platformie e-learningowej Open eClass wykryto podatność typu Unrestricted File Upload, która w określonych warunkach może prowadzić do zdalnego wykonania kodu na serwerze. Luka została powiązana z identyfikatorem CVE-2026-22241 i dotyczy wersji wcześniejszych niż 4.2. To jedna z najgroźniejszych klas błędów w aplikacjach webowych, ponieważ pozwala zamienić funkcję importu lub przesyłania plików w wektor przejęcia systemu.

W skrócie

Problem polega na możliwości przesłania na serwer spreparowanego archiwum ZIP zawierającego plik PHP, który następnie może zostać uruchomiony przez przeglądarkę. Publicznie dostępny proof-of-concept pokazuje scenariusz wykorzystania z poziomu konta administracyjnego, z użyciem prawidłowego uwierzytelnienia i tokenu anty-CSRF. W praktyce podatność może umożliwić wykonywanie dowolnych poleceń systemowych, instalację web shelli, kradzież danych oraz dalszą eskalację działań w środowisku.

  • Dotyczy Open eClass w wersjach starszych niż 4.2
  • Powiązana z CVE-2026-22241
  • Wykorzystuje mechanizm importu archiwum ZIP
  • Może prowadzić do pełnego RCE na serwerze aplikacyjnym

Kontekst / historia

Open eClass to platforma wykorzystywana w środowiskach edukacyjnych do zarządzania kursami i nauczaniem zdalnym. Opis podatności wskazuje na jej wcześniejsze ujawnienie w styczniu 2026 roku, natomiast publiczny kod PoC został udostępniony 29 kwietnia 2026 roku. Z perspektywy bezpieczeństwa jest to istotny moment, ponieważ publikacja gotowego exploita zwykle przyspiesza próby automatycznego skanowania internetu pod kątem podatnych instalacji.

Dostępne informacje wskazują, że problem dotyczy starszych wydań oprogramowania, podczas gdy projekt rozwija już nowsze linie wersji. Dla administratorów oznacza to konieczność szybkiej weryfikacji, czy utrzymywana instancja nie działa na podatnym wydaniu oraz czy nie doszło już do nadużycia funkcji importu.

Analiza techniczna

Scenariusz ataku opiera się na niewystarczającej kontroli plików przesyłanych do komponentu administracyjnego. W publicznym PoC wykorzystano funkcję importu, która przyjmuje archiwum ZIP. W jego wnętrzu umieszczany jest plik PHP pełniący rolę prostego web shella. Po pomyślnym przesłaniu plik trafia do lokalizacji dostępnej z poziomu HTTP, dzięki czemu napastnik może uruchamiać polecenia systemowe przez odpowiednio przygotowane żądania.

Z technicznego punktu widzenia mamy do czynienia z klasycznym połączeniem dwóch błędów: brakiem skutecznej walidacji typu i zawartości przesyłanego pliku oraz zapisaniem go w katalogu, w którym interpreter serwerowy może wykonać zawarty kod. Jeżeli aplikacja nie oddziela zasobów importowanych od przestrzeni wykonywalnej, ryzyko pełnego przejęcia serwera rośnie bardzo szybko.

Istotne jest również to, że opublikowany scenariusz wymaga ważnych danych logowania administratora. Nie oznacza to jednak niskiego ryzyka. W rzeczywistych incydentach dostęp uprzywilejowany może zostać uzyskany przez phishing, reuse haseł, credential stuffing, wcześniejsze naruszenia lub błędy w zarządzaniu kontami.

Konsekwencje / ryzyko

Najpoważniejszym skutkiem podatności jest możliwość wykonywania poleceń na serwerze z uprawnieniami procesu aplikacji webowej. W zależności od konfiguracji środowiska może to przełożyć się na utratę poufności, integralności i dostępności danych oraz usług.

  • Odczyt i modyfikacja danych kursów, kont użytkowników i materiałów dydaktycznych
  • Kradzież plików konfiguracyjnych zawierających poświadczenia do bazy danych
  • Instalacja trwałych backdoorów i narzędzi post-eksploatacyjnych
  • Wykorzystanie serwera jako punktu wyjścia do dalszych ataków w sieci
  • Zakłócenie działania platformy lub sabotaż treści edukacyjnych

Ryzyko jest szczególnie wysokie w instytucjach edukacyjnych, gdzie jedna platforma obsługuje dużą liczbę użytkowników, dane osobowe oraz materiały egzaminacyjne. Nawet jeśli wykorzystanie luki wymaga konta administracyjnego, skutki udanego ataku pozostają krytyczne.

Rekomendacje

Podstawowym działaniem naprawczym powinno być niezwłoczne przejście na wersję 4.2 lub nowszą. Organizacje, które nie mogą wykonać aktualizacji od razu, powinny wdrożyć środki ograniczające powierzchnię ataku i zwiększające szanse wykrycia nadużyć.

  • Tymczasowo wyłączyć lub ograniczyć funkcje importu archiwów w panelu administracyjnym
  • Ograniczyć dostęp do interfejsów administracyjnych do wybranych adresów IP lub przez VPN
  • Wymusić silne hasła i wieloskładnikowe uwierzytelnianie dla kont uprzywilejowanych
  • Sprawdzić, czy katalogi uploadu nie pozwalają na wykonywanie skryptów
  • Monitorować obecność plików PHP, PHTML i innych artefaktów wykonywalnych w obszarach uploadu
  • Przeanalizować logi HTTP i logi aplikacyjne pod kątem nietypowych żądań do plików w katalogach danych
  • Obrócić poświadczenia aplikacyjne i bazodanowe, jeśli istnieje podejrzenie kompromitacji
  • Przeprowadzić threat hunting pod kątem web shelli, nietypowych procesów i połączeń wychodzących

Warto również traktować publicznie dostępne PoC dla luk RCE jako sygnał do natychmiastowego podniesienia priorytetu działań naprawczych. Dostępność gotowego kodu znacząco obniża próg wejścia dla atakujących.

Podsumowanie

CVE-2026-22241 w Open eClass to krytyczna podatność umożliwiająca zdalne wykonanie kodu poprzez niekontrolowane przesyłanie plików. Publiczny PoC pokazuje praktyczny sposób nadużycia funkcji administracyjnego importu ZIP i uruchomienia osadzonego pliku PHP na serwerze. Dla administratorów platform edukacyjnych oznacza to konieczność pilnej weryfikacji wersji, aktualizacji do bezpiecznego wydania oraz sprawdzenia, czy system nie nosi śladów wcześniejszej kompromitacji.

Źródła

  1. Exploit Database: GUnet OpenEclass E-learning platform < 4.2 – Remote Code Execution (RCE)
    https://www.exploit-db.com/exploits/52519
  2. CVE-2026-22241 – Vulners / NVD mirror
    https://vulners.com/nvd/NVD:CVE-2026-22241
  3. Open eClass Documentation
    https://docs.openeclass.org/en/current
  4. Open eClass Previous Versions
    https://www.openeclass.org/en/previous-versions/
  5. Open eClass Release Page
    https://www.openeclass.org/%CE%B4%CE%B9%CE%AC%CE%B8%CE%B5%CF%83%CE%B7/