Junija 2026 so odkrili izjemno resno ranljivost z oceno CVSS 10.0 v razširitvi JCE (Joomla Content Editor), ki je eden najbolj priljubljenih urejevalnikov WYSIWYG za sistem za upravljanje vsebin Joomla. Napaka je v izdelku JCE razvojne ekipe Widget Factory in nepooblaščenim napadalcem omogoča, da na prizadete strani Joomla naložijo in zaženejo poljubno kodo PHP.
Agencija CISA (Cybersecurity and Infrastructure Security Agency) je ranljivost 16. junija 2026 uvrstila v katalog dejansko izkoriščenih ranljivosti (Known Exploited Vulnerabilities, KEV), kar potrjuje, da napadalci napako v praksi aktivno izkoriščajo.
Tehnične podrobnosti
Napaka spada v kategorijo CWE-284: neustrezen nadzor dostopa. JCE skrbnikom omogoča ustvarjanje več profilov urejevalnika, vsakega s svojimi natančno nastavljenimi pravicami – na primer katere skupine uporabnikov lahko nalagajo datoteke, brskajo po medijski knjižnici ali upravljajo vsebine.
Koren težave je v tem, da mehanizem za nalaganje datotek ne preveri ustrezno, ali je uporabnik, ki pošilja zahtevo, res overjen in ima pravice po pravilih danega profila, kadar se profil naloži brez overjene seje. Zato lahko napadalec – brez poverilnic – ustvari nov profil urejevalnika in ga nato izkoristi za nalaganje spletne lupine PHP v imenik, dosegljiv s spleta, ter jo tudi zažene.
Ta postopek v praksi omogoča popolno oddaljeno izvajanje kode (Remote Code Execution, RCE), brez overjanja in brez sodelovanja uporabnika.
Zakaj je tako nevarna?
Strokovnjaki ranljivost iz več razlogov uvrščajo med zelo tvegane:
- Overjanje ni potrebno – napad lahko sproži vsakdo, ki ima omrežni dostop do prizadete strani Joomla.
- Neposredna pot do izvajanja kode – uspešno izkoriščanje takoj omogoči oddaljeno izvajanje kode, brez veriženja dodatnih ranljivosti.
- Primerna za množično izkoriščanje – strani Joomla in prisotnost JCE je z avtomatiziranimi skenerji enostavno prepoznati po predvidljivih poteh in vzorcih odgovorov HTTP.
- Velika napadalna površina – JCE teče na velikem delu ekosistema Joomla, zato je potencialno prizadetih več sto tisoč spletnih strani.
Časovnica
| Datum | Dogodek |
|---|---|
| 26. maj 2026 | Rezervacija identifikatorja CVE |
| 3. junij 2026 | Izide popravljena različica JCE 2.9.99.5 |
| 5. junij 2026 | Ranljivost je javno objavljena (CVE-2026-48907) |
| 16. junij 2026 | CISA jo uvrsti v katalog KEV in s tem potrdi aktivno izkoriščanje |
| 19. junij 2026 | Rok za namestitev popravka za zvezne (ameriške) ustanove |
Prizadete so različice JCE od 1.0.0 do 2.9.99.4.
Aktivno izkoriščanje v praksi
Po besedah varnostnega raziskovalca Phila E. Taylorja (mySites.guru) napadalci ranljivost izkoriščajo za uvoz lažnega, zlonamernega profila urejevalnika, prek katerega namestijo spletno lupino, ki jim prek zadnjih vrat daje trajen dostop do kompromitiranega strežnika.
Priporočeni ukrepi
Če spletna stran na osnovi Joomle uporablja razširitev JCE, je priporočljivo takoj izvesti naslednje korake:
- Takojšnja posodobitev – posodobi JCE na različico 2.9.99.5 ali novejšo, ne glede na različico jedra Joomla.
- Preverjanje kompromitacije – preglej dnevnike spletnega strežnika in poišči zahteve POST na poti za nalaganje JCE (npr.
/index.php?option=com_jce&task=...), v medijskih knjižnicah pa sumljive, nedavno spremenjene datoteke PHP. - Pregled profilov urejevalnika – preglej dovoljenja za nalaganje v vseh profilih JCE in izključi izvršljive vrste datotek (.php, .pht, .phtml, .shtml, .php5, .php7, .phar, .inc itd.), tudi za overjene uporabnike.
- Omejitev ciljnih imenikov za nalaganje – kjer je mogoče, nalaganja usmeri v imenike zunaj korena spletne strani (webroot).
Zaščita z .htaccess do namestitve posodobitve
Naslednje pravilo Rewrite, ki ga lahko dodaš v datoteko .htaccess, onemogoči dostop do kompromitiranega modula:
<IfModule mod_rewrite.c>
RewriteEngine On
# --------------------------------------------------------------------
# 1) Block unauthenticated / suspicious requests to JCE component
# endpoints that are used to create editor profiles or upload files.
# The exploit chain abuses com_jce upload/profile task requests.
# --------------------------------------------------------------------
RewriteCond %{QUERY_STRING} option=com_jce [NC]
RewriteCond %{QUERY_STRING} task=upload|task=plugin|task=profile [NC]
RewriteCond %{HTTP_COOKIE} !joomla_user_state=logged_in [NC]
RewriteRule ^ - [F,L]
# Belt-and-braces: block direct POSTs to common JCE ajax/upload endpoints
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} /(components|plugins)/(com_jce|editors-xtd_jce|jce)/.*(upload|profiles?)\.php [NC]
RewriteRule ^ - [F,L]
</IfModule>
Povzetek
CVE-2026-48907 je šolski primer tega, kako lahko sama po sebi koristna funkcija – prilagodljivo upravljanje pravic po meri – postane kritično varnostno tveganje, če je izvedba nadzora dostopa pomanjkljiva. Glede na najvišjo oceno resnosti in potrjeno aktivno izkoriščanje mora vsak upravljavec Joomle, ki uporablja razširitev JCE, nemudoma posodobiti sistem in opraviti tudi preverjanje morebitne kompromitacije.