Tydzień temu, 17 czerwca, CERT Polska opisał podatność CVE-2026-48907 w rozszerzeniu JCE dla Joomla, która pozwala bez uprawnień utworzyć profil edytora, a potem wgrać i wykonać kod PHP. Według CERT luka była aktywnie wykorzystywana. Właściciel firmowej strony na Joomla powinien więc mieć od administratora dwie odpowiedzi: czy dodatek zaktualizowano i czy ktoś wcześniej nie zostawił na stronie nieautoryzowanych profili lub plików.
Wyobraź sobie recepcję biurowca, w której przez pewien czas każdy mógł sam dopisać się do listy osób z przepustką, a potem wnieść na piętro dowolną paczkę. Zarządca naprawia procedurę i od tej chwili dopisanie się wymaga zgody. To dobra wiadomość na kolejne tygodnie. Nie mówi jednak nic o tym, kto zdążył dopisać się wcześniej i co zostawił w środku. Opis CERT Polska układa się w podobną sekwencję: najpierw nieuprawnione utworzenie profilu edytora, potem wgranie pliku PHP i jego wykonanie. Poprawiona wersja JCE zamyka pierwszy krok przed nowymi próbami. Profil i plik, które mogły powstać przed aktualizacją, wymagają osobnego sprawdzenia. Dlatego pytanie do administratora strony ma dwie części, a zgłoszenie powinno zawierać dwie odpowiedzi.
CVE-2026-48907 prowadzi od profilu edytora do kodu PHP
Jak podaje CERT Polska w komunikacie z 17 czerwca, podatność CVE-2026-48907 w rozszerzeniu JCE umożliwia nieuprawnione tworzenie profili edytora, a następnie wgranie i wykonanie PHP. Komunikat nosi tytuł „Krytyczna podatność w rozszerzeniu JCE dla Joomla”. Według CERT luka była aktywnie wykorzystywana, więc opisany scenariusz trafił już do praktyki atakujących.
Dla właściciela strony najważniejsza jest kolejność kroków. Profil edytora jest elementem samego JCE, a wgrany plik PHP trafia na serwer, na którym działa strona. Atak w opisanej postaci może więc zostawić dwa rodzaje śladów: profil, którego nikt w firmie nie zakładał, i plik, którego nikt nie wgrywał. Właśnie o te dwa miejsca zapytaj administratora.
Aktualizacja usuwa przyczynę, czyli możliwość nieuprawnionego tworzenia profili. Profil albo plik dodany wcześniej pozostaje sprawą otwartą, dopóki ktoś go nie znajdzie albo nie wykluczy jego istnienia. Wykonanie PHP oznacza, że cudzy kod mógł działać na firmowej stronie. Z opisu podatności nie wyprowadzajmy jednak wniosków o skutkach w konkretnej firmie. To trzeba ustalić na własnej stronie.
Aktualizacja JCE zamyka drogę do tworzenia nowych profili. Profili i plików, które mogły powstać wcześniej, sama nie wskaże.
Status „zaktualizowane” nie opisuje tego, co działo się przed poprawką
Jeśli zgłoszenie dotyczące poprawki zamyka się w Twojej firmie po jednym zdaniu „JCE zaktualizowane”, procedura odpowiada na pytanie o stan dodatku w dniu aktualizacji. Pytanie o integralność strony nie ma w niej właściciela. Przy luce, którą według CERT aktywnie wykorzystywano, okres przed aktualizacją jest dokładnie tym, o który trzeba zapytać. Nie wiadomo, od kiedy trwały ataki ani ile stron objęły. Tym bardziej nie wiadomo, czy dotyczyły Twojej witryny.
Druga sprawa dotyczy starszych instalacji. CERT podaje, że oprócz poprawionych wersji udostępniono pakiet łagodzący problem dla starszych instalacji. Administrator, który go zastosował, zareagował na ostrzeżenie. Zapis w zgłoszeniu powinien jednak mówić wprost, czy strona działa na poprawionej wersji JCE, czy na starszej instalacji z pakietem. To dwie różne informacje dla osoby, która za kilka miesięcy będzie planować kolejne prace przy stronie.
Nie zakładajmy przy tym, że administrator czegoś zaniedbał. Poprośmy o udokumentowanie obu ustaleń: wersji lub pakietu oraz wyniku przeglądu profili edytora i plików. Jeżeli przegląd jeszcze trwa, niech zgłoszenie mówi to otwarcie, z nazwiskiem wykonawcy i terminem.
Przy CVE-2026-48907 potwierdzenie aktualizacji i wynik przeglądu profili oraz plików to dwa osobne dowody. Jeden nie zastępuje drugiego.
Właściciel witryny odbiera wynik, administrator dostarcza dowody
Firmową stroną na Joomla może zajmować się własny informatyk, agencja albo dostawca hostingu. W każdym z tych układów decyzja o zamknięciu sprawy CVE-2026-48907 należy do właściciela witryny. Administrator dostarcza potwierdzenia, właściciel ocenia, czy są kompletne.
Pierwszym warunkiem jest wiedza, czy JCE w ogóle działa na firmowych stronach. Spis dodatków CMS z wersjami i osobą odpowiedzialną za aktualizacje skraca taką rozmowę do jednego pytania. Bez spisu każda kolejna luka w dodatku zaczyna się od ustalania, czego firma używa. Ostrzeżenie z 17 czerwca jest dobrym powodem, żeby taki spis założyć albo sprawdzić, czy obejmuje wszystkie witryny.
Drugim warunkiem jest kontrola zmian. Jeśli firma wie, kto i kiedy zakładał profile edytora, przegląd po CVE-2026-48907 polega na porównaniu listy z rzeczywistością. Bez takiego zapisu administrator musi każdy profil wyjaśniać osobno. To dłużej trwa, ale nadal da się zrobić.
Opis podatności nie pozwala wycenić strat konkretnej organizacji, więc nie przypisujmy hipotetycznemu włamaniu kwoty. Wyceńmy za to pracę: ile godzin administratora zajmie przegląd profili i plików na każdej witrynie z JCE.
Komunikat CERT Polska z 17 czerwca wyznacza punkt startu
Dla polskich firm punktem odniesienia jest komunikat CERT Polska z 17 czerwca. Na 24 czerwca minęło od niego 7 dni. To wystarczająco dużo, by aktualizacja mogła być już wykonana, i wystarczająco mało, by przegląd profili i plików wciąż czekał na zlecenie.
Datowany komunikat daje też praktyczne narzędzie. W zgłoszeniu zapiszmy datę aktualizacji obok daty ostrzeżenia. Odstęp między nimi pokazuje, jak długo strona działała z podatną wersją po publicznym ostrzeżeniu. Nie mówi, czy w tym czasie doszło do ataku, ale pomaga ustalić, jak szeroko szukać.
Dostępne fakty nie określają liczby zaatakowanych stron w Polsce ani nie wskazują poszkodowanych organizacji. Pytajmy więc o własną witrynę, bez przypisywania jej incydentu, którego nikt nie stwierdził.
Co z tym zrobić w poniedziałek
- Ustal, które strony używają JCE. Poproś administratora o listę firmowych witryn na Joomla z informacją, czy działa na nich rozszerzenie JCE. Jeśli odpowiedź wymaga sprawdzenia, zapisz osobę odpowiedzialną i termin.
- Poproś o dowód aktualizacji. Dla każdej witryny z JCE zażądaj informacji, czy wdrożono poprawioną wersję, czy pakiet łagodzący dla starszej instalacji, oraz daty wykonania. Dołącz komunikat CERT Polska z 17 czerwca.
- Zleć przegląd profili i plików. Poproś o wynik sprawdzenia, czy w JCE są profile edytora, których nikt w firmie nie zakładał, i czy na serwerze są pliki PHP, których nikt nie wgrywał. Do czasu odpowiedzi oznacz integralność strony jako nieustaloną.
Poprawka w dodatku CMS kończy jeden etap pracy. Zamknięcie sprawy CVE-2026-48907 wymaga drugiego dowodu: że po okresie aktywnego wykorzystywania luki na stronie nie ma obcych profili ani plików. Właściciel witryny, który żąda obu odpowiedzi, wie, co naprawiono i co sprawdzono.
Źródła
- CERT Polska: Krytyczna podatność w rozszerzeniu JCE dla Joomla, publikacja: 17 czerwca 2026 r.
Redakcja cyberinsight.pl.