Notificare de securitate iCagenda
Dacă ați primit un e-mail de la mine care vă îndrumă către această pagină, este pentru că
site-ul dumneavoastră pare să ruleze o versiune de iCagenda (com_icagenda al JoomliC, o
extensie de calendar de evenimente pentru sistemul de gestionare a conținutului Joomla) care este
afectată de o problemă de securitate cunoscută. Această pagină explică ce este problema, cum
verificați dacă vi se aplică și cum o remediați.
Această notificare privește CVE-2026-48939, o vulnerabilitate critică, exploatată activ, care permite încărcarea de fișiere arbitrare fără autentificare, ce duce la execuție de cod la distanță, prin formularul din front-end „Trimiteți un eveniment” al extensiei. A fost adăugată în catalogul Known Exploited Vulnerabilities al Agenției pentru Securitate Cibernetică și Securitatea Infrastructurii din SUA pe 10 iulie 2026.
Două condiții, și ambele trebuie îndeplinite
Site-ul dumneavoastră este afectat de problema de execuție de cod la distanță atunci când ambele afirmații de mai jos sunt adevărate:
- iCagenda este pe linia 4.0.x, la o versiune sub 4.0.8 (adică de la 4.0.0 până la 4.0.7), și
- Nucleul Joomla este sub 6.1.2.
Dacă iCagenda este la 4.0.8 sau o versiune ulterioară, nu sunteți afectat. Iar dacă nucleul dumneavoastră Joomla este la 6.1.2 sau o versiune ulterioară, nu sunteți afectat nici în acest caz, chiar și cu o versiune veche de iCagenda, deoarece nucleul însuși blochează încărcarea. Dacă aceasta descrie site-ul dumneavoastră, puteți opri lectura aici, cu excepția faptului că actualizarea iCagenda merită totuși făcută.
A doua condiție este partea în care această pagină nu este de acord cu avizul propriu al producătorului, care spune că problema afectează doar site-urile care rulează Joomla 6. Ea afectează și site-urile Joomla 4 și Joomla 5 complet actualizate, iar eu prezint dovezile pentru aceasta mai jos, pentru că veți vedea producătorul afirmând contrariul dacă urmăriți linkul.
Dacă rulați o versiune afectată, actualizați iCagenda, iar pentru că această vulnerabilitate a fost exploatată înainte de a exista o remediere, verificați și dacă există semne că cineva a ajuns acolo înaintea dumneavoastră (vedeți Dacă ați folosit o versiune afectată mai jos).
O notă pentru cei de pe linia mai veche 3.9.x. Intervalul CVE publicat include și 3.9.x, iar producătorul a remediat și acea linie, în 3.9.15. Din propria mea citire și testare, linia 3.9.x folosește o cale de cod diferită, protejată, pentru încărcare, astfel încât rezultatul de execuție de cod la distanță nu este accesibil acolo: pe Joomla 4 și 5 încărcarea este blocată de nucleu, iar pe Joomla 6 acea cale de cod nu mai există deloc, așa că funcția pur și simplu generează o eroare. Acesta nu este un motiv pentru a ignora actualizarea. Aceleași versiuni remediază o verificare de autorizare lipsă care permite unui vizitator anonim să introducă în site-ul dumneavoastră un eveniment neaprobat (și, pe Joomla 4 și 5, odată cu el, un fișier de un tip permis). Severitate mai mică, dar tot merită remediată: actualizați la 3.9.15 sau o versiune ulterioară. Rețineți de asemenea că producătorul oferă patch-uri de securitate pentru linia 3.9.x doar până la 13 octombrie 2026.
Este legitim acest mesaj?
Da. Aceasta este o notificare de bună-credință, prin divulgare responsabilă, din partea unui cercetător independent în securitate. Nu vă cer bani, parole sau acces la site-ul dumneavoastră, și nu am încercat să pătrund în el, să încarc ceva sau să exploatez ceva.
Ceea ce am citit au fost două fișiere publice pe care site-ul dumneavoastră le servește
oricui le cere: manifestul componentei iCagenda la
/administrator/components/com_icagenda/icagenda.xml, și manifestul nucleului Joomla la
/administrator/manifests/files/joomla.xml. Ambele sunt simple fișiere XML de versiune, și sunt
aceleași două fișiere descrise mai jos, la Cum să vă verificați
versiunile, astfel încât puteți vedea exact ce am văzut eu.
Asta este tot. În mod special, nu am trimis formularul dumneavoastră de eveniment, nu am
încărcat nimic și nu am solicitat directorul de atașamente de pe site-ul dumneavoastră. Acea cale
apare mai departe în această pagină doar ca un loc în care dumneavoastră puteți verifica pe
propriul site. Nimic din această verificare nu atinge datele dumneavoastră, zona de administrare
sau vreo parte privată a site-ului.
Dacă doriți să verificați cine sunt, consultați datele de contact din partea de jos a acestei pagini și pagina Despre.
De ce contează
iCagenda publică un calendar de evenimente pe site-uri Joomla. Una dintre funcțiile sale permite
unui vizitator să trimită un eveniment printr-un formular din front-end, atașând opțional un
fișier, care ajunge sub images/icagenda/frontend/attachments/.
În versiunile afectate, această trimitere este acceptată fără autentificare, iar atașamentul este scris pe disc fără nicio verificare a tipului de fișier, păstrând numele și extensia alese de expeditor. Această combinație permite unui atacator să plaseze pe serverul dumneavoastră un program la alegerea sa și să îl ruleze: execuție de cod la distanță completă, fără a fi nevoie de niciun cont și fără nicio cooperare din partea dumneavoastră.
Nu trebuie activată nicio opțiune pentru ca aceasta să se aplice. Formularul nu trebuie să fie publicat sau vizibil pentru vizitatori: în versiunile afectate, controlerul din spatele lui accepta trimiterea indiferent de aceasta.
Acesta nu este un risc teoretic. A primit scorul 9,8 din 10 de la NVD (și 10,0 de la autoritatea care a atribuit CVE-ul, conform noului sistem de scorare), și este exploatat în mediul real. Producătorul raportează că exploatarea a început pe 15 iunie 2026, ora 08:00 UTC, înainte de a exista patch-ul, și descrie atacurile ca fiind automate. CISA l-a adăugat în catalogul Known Exploited Vulnerabilities pe 10 iulie 2026.
Descriu acest lucru la nivelul de care are nevoie un proprietar de site pentru a acționa, și nu mai mult. Nu public detaliile care ar permite cuiva să o reproducă, și aș ruga să nu încercați acest lucru pe propriul site sau pe al altcuiva. Citirea celor două numere de versiune ale dumneavoastră, așa cum este descris mai jos, vă spune tot ce aveți nevoie pentru a decide ce aveți de făcut.
Dacă e-mailul meu a citat această problemă, înseamnă că versiunile pe care le raportează site-ul dumneavoastră îl plasează în intervalul afectat, pe ambele criterii. Nu am testat dacă site-ul dumneavoastră particular este exploatabil sau deja compromis.
Unde diferă această pagină de avizul producătorului
Avizul producătorului merită citit, și îl leg mai jos. Au lansat rapid o remediere, iar îndrumările lor sunt bune. Dar o propoziție privind domeniul de aplicare nu rezistă la verificare, și pentru că este exact propoziția care ar spune majorității cititorilor acestei pagini să se liniștească, prefer să vă arăt modul în care am ajuns la concluzie, nu doar să afirm. Avizul spune:
Încărcările nesigure de fișiere erau deja blocate implicit pe toate versiunile de Joomla anterioare lui Joomla 6. Doar instalarea iCagenda pe Joomla 6 (6.0.0-6.1.1) avea vulnerabilitatea critică de încărcare.
Iată ce am măsurat, pe instalații izolate proprii. Niciun site terț nu a fost implicat în niciun moment.
- iCagenda 4.0.x efectuează încărcarea prin clasa din framework
Joomla\Filesystem\File, care provine din pachetuljoomla/filesysteminclus de nucleul Joomla. Nu folosește clasa mai veche din Joomla CMS, cu același nume, care a avut întotdeauna o verificare de fișier sigur și este probabil cea la care se referă avizul. - Această metodă din framework a primit propria verificare de fișier sigur (parametrul
$allowUnsafeși testulisSafeFile) abia înjoomla/filesystem4.2.0, versiunea inclusă în Joomla 6.1.2. - Versiunile efectiv incluse în lansările de Joomla pe care le-am verificat: Joomla 4.4.14 include filesystem 2.0.2 (fără verificare), Joomla 5.4.7 include 3.2.0 (fără verificare), iar Joomla 6.1.2 include 4.2.0 (verificare prezentă).
Așadar, un site Joomla 4 sau Joomla 5 complet actualizat, care rulează iCagenda 4.0.0 până la 4.0.7, este expus, și de aceea această pagină formulează condiția privind Joomla ca „sub 6.1.2” și nu „doar Joomla 6”. Nimic din înregistrarea CVE publicată, din intrarea NVD sau din catalogul CISA nu limitează această problemă în funcție de versiunea de Joomla; propoziția din aviz este singurul loc în care apare o astfel de limitare.
Cum să vă verificați versiunile
Nu trebuie să mă credeți pe cuvânt pentru niciunul dintre cele două numere, și sunt două de verificat.
Versiunea dumneavoastră de iCagenda, din fișierul manifest (fără a fi nevoie de autentificare): deschideți
yourdomain.com/administrator/components/com_icagenda/icagenda.xml
și citiți elementul <version>. Acesta este unul dintre cele două fișiere pe care le-am citit.
Versiunea dumneavoastră de iCagenda, din zona de administrare:
- Autentificați-vă în administrarea Joomla (de obicei la
yourdomain.com/administrator). - Accesați System apoi Manage apoi Extensions.
- Căutați iCagenda și notați versiunea instalată.
Fiți atent la care icagenda.xml îl citiți. Pachetul iCagenda include și un plugin de
căutare, cu un manifest cu același nume, care are propriul său număr de versiune, fără legătură.
Doar calea componentei de mai sus vă arată ce versiune rulează extensia.
Versiunea dumneavoastră de nucleu Joomla: în zona de administrare, accesați System apoi
System Information. Sau citiți /administrator/manifests/files/joomla.xml și preluați
elementul <version>. Acesta este celălalt fișier pe care l-am citit.
Nu există nicio modalitate de a afla versiunea iCagenda din sursa publică a paginii dumneavoastră, și nu ar trebui să încercați. Resursele front-end ale extensiei poartă hash-ul media la nivel de site al Joomla, nu un număr de versiune, iar singurul număr cu aspect de versiune care apare într-adevăr în sursa paginii aparține pachetului de resurse al modulului de calendar (un număr mic, precum 1.0.4) și nu are nicio legătură cu componenta. Fișierul manifest sau ecranul de administrare sunt singura verificare corectă.
Apoi aplicați regula de la începutul acestei pagini: linia 4.0.x sub 4.0.8 și un nucleu sub 6.1.2 înseamnă afectat.
Cum să actualizați
Cea mai sigură cale este să actualizați prin Joomla însuși, și să faceți mai întâi o copie de rezervă:
- Faceți o copie de rezervă a site-ului (fișiere și baza de date) înainte de a face modificări. Majoritatea furnizorilor de găzduire oferă copii de rezervă cu un singur clic, sau folosiți o extensie de backup pentru Joomla.
- În administrarea Joomla, deschideți Extensions apoi Manage apoi Update, și apăsați Find Updates. Dacă este listată o actualizare pentru iCagenda, instalați-o de aici.
- Dacă nu apare nicio actualizare acolo, descărcați versiunea curentă direct de la producător, JoomliC, și instalați-o prin Extensions apoi Install.
- Ce versiune să instalați: 4.0.8 este versiunea care remediază această problemă, dar versiunea curentă la momentul redactării este 4.0.11, iar versiunile ulterioare lui 4.0.8 adaugă protecție suplimentară în jurul aceleiași funcții, inclusiv blocarea execuției de cod din folderul media al iCagenda. Alegeți 4.0.11 în loc să vă opriți la 4.0.8. Pe linia mai veche, alegeți 3.9.15 sau o versiune ulterioară.
- Alternativ, actualizarea nucleului Joomla la 6.1.2 sau o versiune ulterioară rezolvă și ea această problemă anume, dar nu înlocuiește actualizarea extensiei: verificarea de autorizare lipsă se află chiar în iCagenda, și doar o actualizare a iCagenda o remediază.
- După actualizare, confirmați noul număr de versiune folosind pașii de mai sus, și verificați că respectivul calendar încă se afișează și că trimiterea evenimentelor încă funcționează așa cum vă așteptați.
Cât timp sunteți acolo, merită să confirmați că Joomla însuși și celelalte extensii ale dumneavoastră sunt actualizate, deoarece același principiu se aplică tuturor.
Dacă ați folosit o versiune afectată
Deoarece această vulnerabilitate a fost exploatată înainte ca o remediere să fie disponibilă, un site care a rulat o versiune afectată nu ar trebui să presupună că simpla actualizare este suficientă. Actualizarea închide ușa, dar nu vă spune dacă cineva a trecut deja prin ea. Merită verificat calm, nu presupunând ce e mai rău: majoritatea site-urilor nu vor găsi nimic. În cuvintele producătorului:
Actualizarea închide punctul de intrare și protejează funcția de atașare a fișierelor, dar nu curăță un site deja compromis. […] Păstrați o copie a oricăror fișiere suspecte ca dovadă, ștergeți-le, schimbați-vă parolele și credențialele Joomla și auditați întregul site, nu doar folderul iCagenda.
Iată ce puteți căuta dumneavoastră (sau webmasterul dumneavoastră) pe propriul site:
-
Fișiere PHP sub
images/icagenda/frontend/attachments/. Acest folder ar trebui să conțină întotdeauna doar atașamente de evenimente. Pe o gazdă Linux, verificarea este:find images/icagenda/frontend/attachments -name '*.php' -type f - Evenimente anonime neaprobate aflate în coada de moderare, lucru la care nu v-ați aștepta dacă nu ați deschis niciodată trimiterea de evenimente pentru public.
- Accesări în jurnalele dumneavoastră de acces provenite de la un scanner care se identifică
drept
icagenda-batch/1.0.
Începând cu 4.0.8, iCagenda verifică și ea însăși semne de compromitere și ridică o alertă după actualizare, dacă găsește vreunul. Producătorul recunoaște deschis că absența acelei alerte nu este o garanție, așa că este un semnal util, nu o dovadă de sănătate completă.
Dacă găsiți oricare dintre acestea, tratați site-ul ca fiind compromis: păstrați copii ale fișierelor suspecte ca dovadă și apoi eliminați-le, schimbați toate credențialele (administrarea Joomla, baza de date, FTP/SSH, panoul de găzduire), examinați conturile dumneavoastră de utilizator Joomla și grupurile din care fac parte, și auditați întregul site, nu doar folderul iCagenda. Restaurarea dintr-o copie de rezervă făcută înainte de 15 iunie 2026 este adesea mai sigură decât curățarea pe loc, deoarece un backdoor lăsat în urmă poate anula curățarea. Dacă organizația dumneavoastră are o echipă de securitate IT sau un CERT național, implicați-i.
Vreau să fiu clar: nu am verificat site-ul dumneavoastră pentru niciunul dintre acești indicatori și nu știu dacă site-ul dumneavoastră a fost afectat. Această listă este aici pentru ca dumneavoastră să puteți verifica singur.
Nu am un webmaster / m-am blocat
Dacă nu sunteți persoana care întreține site-ul, vă rog să transmiteți această pagină celui care o face (dezvoltatorul dumneavoastră web, agenția sau furnizorul de găzduire). Vor recunoaște rapid pașii de mai sus.
Dacă întrețineți site-ul dumneavoastră și v-ați blocat, vă ajut cu plăcere să vă orientați în direcția corectă, fără niciun cost. Contactați-mă folosind datele de contact de mai jos.
Contact
Evan Harris, cercetător în securitate
- Email: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Vă contactez în legătură cu astfel de probleme pur și simplu pentru a ajuta operatorii să își securizeze site-urile. Dacă preferați să nu mai fiți contactat din nou, spuneți-mi și voi respecta această dorință.
Referințe
Anunțuri oficiale și urmărire
Producător (JoomliC)