Sigurnosna obavijest za Balbooa Forms
Ako ste od mene primili e-poruku koja vas upućuje na ovu stranicu, to je zato što vaše
web-mjesto, čini se, koristi verziju proširenja Balbooa Forms (com_baforms tvrtke
Balbooa, koji se u vašim datotekama nalazi na putanjama /components/com_baforms/ i
/administrator/components/com_baforms/) zahvaćenu poznatim sigurnosnim propustom. Balbooa
Forms je proširenje za izradu obrazaca za sustav za upravljanje sadržajem Joomla. Ova
stranica objašnjava zašto je to važno, kako pouzdano očitati svoju verziju i kako to
popraviti.
Ova se obavijest odnosi na CVE-2026-56291, kritičnu (CVSS 10.0), aktivno iskorištavanu ranjivost koja omogućuje neautenticirano udaljeno izvršavanje koda kroz obradu privitaka uz obrasce na prednjem dijelu proširenja. Zahvaća svako izdanje starije od 2.4.1. Dodana je u katalog Known Exploited Vulnerabilities američke Agencije za kibernetičku sigurnost i sigurnost infrastrukture (CISA) 10. srpnja 2026.
Izdanje koje ispravlja ovaj propust nije izdanje na koje treba nadograditi, i ovo je najvažnija stvar na ovoj stranici. Izdanje 2.4.1, objavljeno 9. srpnja 2026., doista ispravlja CVE-2026-56291. No drugi, zaseban propust u istom proširenju, CVE-2026-65880, zahvaća izdanja zaključno s verzijom 2.4.2.1. Operater koji se nadogradi na 2.4.1 ili 2.4.2 time zatvara vrata o kojima govori ova obavijest, ali ostavlja otvorena druga. Kasnije izdanje, 2.4.3.1, dodatno je sigurnosno izdanje koje učvršćuje isti put za učitavanje. Dakle: nadogradite se na Balbooa Forms 2.4.3.1 ili noviju verziju, što je trenutačno izdanje u vrijeme pisanja. Nemojte stati na 2.4.1.
Ne postoji starija verzija koja je sigurna. Zaštite koje okončavaju ovaj propust dodane su u izdanju 2.4.1, što znači da su izostajale iz svakog izdanja prije njega. Ovo nije propust koji je uveden tek na pola povijesti proširenja: proizvođačev vlastiti popis promjena pokazuje da je put za učitavanje na prednjem dijelu neprekidno postojao još od linije 2.0.x pa sve do 1.x, a nezaštićenu obradu potvrdio sam izravno u izvornom kodu verzija 2.1.x, 2.2.0 i 2.3.x. „Moja je instalacija prestara da bi bila zahvaćena” ovdje nije izlaz, a u praksi su mnoge zahvaćene instalacije koje viđam doista stare.
Ništa ne treba biti uključeno da bi se ovo odnosilo na vas. Očita je pretpostavka da je web-mjesto izloženo samo ako objavljuje obrazac koji prihvaća privitke datoteka, pa želim izričito reći da to ovdje nije slučaj. Ne postoji postavka koja zahvaćenu verziju izuzima iz raspona, a besplatno izdanje proširenja sadrži zahvaćeni kôd jednako kao i plaćena izdanja, pa ni „mi koristimo samo besplatnu verziju” nije izlaz. Jedino što je važno jest koju verziju koristite.
Budući da je ovaj propust bio iskorištavan prije nego što je ispravak uopće postojao, ažuriranje samo po sebi nije cijeli zadatak. Trebali biste također provjeriti ima li na vašem web-mjestu znakova da je netko onamo stigao prije vas (vidi Ako ste koristili zahvaćenu verziju u nastavku).
Ovo je propust proširenja, a ne jezgre Joomle. Zahvaća web-mjesta na Joomli 4, 5 i 6 jednako: potpuno ažurna jezgra Joomle ne štiti vas ako je samo proširenje Balbooa Forms zastarjelo.
Je li ova poruka vjerodostojna?
Da. Ovo je dobronamjerna obavijest po načelu odgovorne objave od neovisnog istraživača sigurnosti. Ne tražim od vas novac, lozinke ni pristup vašem web-mjestu i nisam pokušavao provaliti u njega, bilo što učitati niti bilo što iskoristiti.
Sve što sam učinio jest da sam pogledao datoteke koje vaše web-mjesto poslužuje svakom
posjetitelju (na isti način na koji je vaša naslovnica javna): vaše stranice, vlastite adrese
resursa proširenja na prednjem dijelu koje su u njih upisane, te javnu datoteku manifesta
proširenja. To je sve. Ranjivu značajku učitavanja izričito nisam dotaknuo, nisam poslao
nijedan obrazac na vašem web-mjestu i nisam zatražio mapu images/baforms/uploads/ na vašem
web-mjestu ni bilo gdje drugdje. Ta se putanja dalje na ovoj stranici pojavljuje samo kao
mjesto na kojem vi sami možete provjeriti na svom web-mjestu. Ništa u ovoj provjeri ne
dira vaše podatke, vašu administratorsku zonu ni bilo koji privatni dio vašeg web-mjesta.
Ako želite provjeriti tko sam, pogledajte kontaktne podatke na dnu ove stranice i stranicu O meni.
Zašto je ovo važno
Balbooa Forms izrađuje kontaktne obrasce, obrasce za upite i slične obrasce na Joomla web-mjestima. Dio onoga što nudi jest mogućnost da posjetitelj uz slanje obrasca priloži datoteku.
U zahvaćenim verzijama, obradi iza te značajke može se pristupiti bez prijave, a ona ne provjerava ispravno kakva joj se vrsta datoteke daje. Ta kombinacija napadaču omogućuje da na vaš poslužitelj postavi program po vlastitom izboru i pokrene ga: potpuno udaljeno izvršavanje koda, bez potrebe za računom i bez ikakve suradnje s vaše strane.
Ovo nije teorijski rizik. Propust je ocijenjen s 10,0 od 10, najvišom mogućom ocjenom, i aktivno se iskorištava u stvarnim uvjetima. Iskorištavanje je zabilježeno od 8. srpnja 2026., dan prije nego što je ispravak objavljen 9. srpnja 2026., a američka Agencija za kibernetičku sigurnost i sigurnost infrastrukture dodala ga je u svoj katalog Known Exploited Vulnerabilities 10. srpnja 2026. Prijavio ga je Phil Taylor iz mySites.guru.
Ovo opisujem na razini koja je vlasniku web-mjesta potrebna da bi postupio, i ništa dalje. Ne objavljujem pojedinosti koje bi nekome omogućile da to reproducira i molim vas da to ne pokušavate ni na vlastitom ni na tuđem web-mjestu. Očitavanje broja vaše verzije, kako je opisano u nastavku, govori vam sve što trebate kako biste odlučili što učiniti.
Ako je moja e-poruka navela ovaj propust, to znači da je verzija koju vaše web-mjesto prijavljuje starija od 2.4.1. Nisam provjeravao je li baš vaše web-mjesto iskoristivo ili već kompromitirano, samo da prijavljuje zahvaćenu verziju.
Kako provjeriti svoju verziju
Ne morate mi vjerovati na riječ o tome koju verziju koristite. Postoje dva pouzdana načina provjere i jedan zavaravajući signal specifičan za ovo proširenje koji je vrijedno znati.
Iz Joomla administracije (mjerodavno):
- Prijavite se u svoju Joomla administraciju (obično na
yourdomain.com/administrator). - Idite na System pa Manage pa Extensions (ili Extensions pa Manage, ovisno o vašoj verziji Joomle).
- Potražite Balbooa Forms i zabilježite instaliranu verziju.
Iz datoteke manifesta na disku: otvorite
/administrator/components/com_baforms/baforms.xml
i pročitajte njezin element <version>. To je ono što vaše web-mjesto doista pokreće.
Pripazite koju datoteku baforms.xml čitate. Instalacija Joomle s ovim proširenjem
sadrži tri različite datoteke s tim nazivom, a samo je ona na gornjoj putanji vlastita
datoteka komponente. Kopije pod /administrator/manifests/files/ i
/plugins/editors-xtd/baforms/ nose vlastite brojeve verzija, koji su mnogo stariji i
uopće ne prate komponentu. Ako pogreškom pročitate jednu od njih, vaša će verzija izgledati
znatno starija nego što jest.
Broj verzije u izvornom kodu vaše stranice nije pouzdan. Balbooa Forms utiskuje verziju
u svoje adrese resursa na prednjem dijelu, pa ako pogledate izvorni kod stranice koja nosi
obrazac, možete vidjeti nešto poput ba-form.js?2.3.0.2. Taj se broj ne čita iz datoteka
koje se poslužuju. Dolazi iz zapisa manifesta proširenja u bazi podataka Joomle, koji
ažurira jedino njezin instalacijski program. Ako je proširenje ikada ažurirano kopiranjem
datoteka preko starih, umjesto instalacijom kroz Joomlu, stranica može oglašavati verziju
koju web-mjesto zapravo ne pokreće, i to može biti pogrešno u oba smjera: stari broj na
ažuriranim datotekama, ili novi broj na starim. Umjesto toga koristite zaslon u
administraciji ili datoteku manifesta na disku.
Zatim primijenite ovo pravilo:
- Bilo što starije od 2.4.1: zahvaćeno ovim propustom. Ne postoji granica ispod koje starije izdanje ponovno postaje sigurno.
- 2.4.1 ili 2.4.2: ispravljeno u pogledu ovog propusta, ali i dalje zahvaćeno propustom CVE-2026-65880, zasebnim propustom spomenutim iznad. Nastavite dalje.
- 2.4.3.1 ili novije: trenutačno izdanje. Ovdje želite biti.
Kako se nadograditi
Najsigurniji put jest ažuriranje kroz samu Joomlu, uz prethodno stvaranje sigurnosne kopije:
- Napravite sigurnosnu kopiju svog web-mjesta (datoteke i baza podataka) prije unošenja izmjena. Većina pružatelja usluga hostinga nudi sigurnosne kopije jednim klikom, ili upotrijebite proširenje za sigurnosno kopiranje Joomle.
- U Joomla administraciji otvorite Extensions pa Manage pa Update i kliknite Find Updates. Ako je navedeno ažuriranje za Balbooa Forms, instalirajte ga odavde.
- Ako se tamo ne pojavi ažuriranje, preuzmite najnovije izdanje izravno od proizvođača, Balbooa, i instalirajte ga putem Extensions pa Install. Besplatno i plaćena izdanja podjednako se ažuriraju preko proizvođačeve vlastite stranice.
- Instalirajte kroz Joomlu, a ne kopiranjem datoteka preko starih. Kopiranje datoteka ostavlja njezin zapis o verziji zastarjelim, što je upravo ono zbog čega je broj u izvornom kodu stranice u prvom redu nepouzdan, a može i ostaviti stare datoteke za sobom.
- Nakon nadogradnje potvrdite novi broj verzije (2.4.3.1 ili noviji) prema gornjim koracima i provjerite prikazuju li se i šalju li se vaši obrasci i dalje normalno.
Kad ste već tu, vrijedi potvrditi da su sama Joomla i vaša ostala proširenja ažurni, budući da isto načelo vrijedi za sve njih.
Ako ste koristili zahvaćenu verziju
Budući da se ovaj propust iskorištavao prije nego što je ispravak postojao, web-mjesto na kojem je radila zahvaćena verzija ne bi trebalo pretpostaviti da je puko ažuriranje dovoljno. Ažuriranje zatvara vrata, ali vam ne govori je li netko kroz njih već prošao. To je vrijedno provjeriti mirno, umjesto da pretpostavite najgore: većina web-mjesta neće pronaći ništa.
Evo što vi (ili vaš webmaster) možete potražiti na vlastitom web-mjestu:
-
Neočekivane PHP datoteke u mapi za prijenose. Potražite
.phpdatoteke bilo gdje podimages/baforms/uploads/, uključujući sve njezine podmape. Ništa legitimno tamo ne stavlja PHP. Na Linux poslužitelju, provjera je:find images/baforms/uploads -name '*.php' -type f - Administratorski računi koje ne prepoznajete. Pregledajte svoj popis korisnika u Users pa Manage. Također provjerite datume registracije na računima koje prepoznajete, jer račun stvoren početkom srpnja 2026. za koji ste pretpostavili da je oduvijek postojao vrijedi dodatno provjeriti.
- PHP datoteke drugdje na web-mjestu izmijenjene oko ili nakon početka srpnja 2026., osobito one za koje ne možete odgovarati.
Ako pronađete bilo što od navedenog, tretirajte web-mjesto kao kompromitirano: promijenite sve vjerodajnice (Joomla administracija, baza podataka, FTP/SSH, hosting panel), pregledajte svoje Joomla korisničke račune i grupe kojima pripadaju, te razmotrite vraćanje iz sigurnosne kopije napravljene prije 8. srpnja 2026. umjesto pokušaja čišćenja web-mjesta na licu mjesta. Čišćenje na licu mjesta teško je ispravno provesti, jer stražnja vrata ostavljena za sobom mogu poništiti čišćenje. Ako vaša organizacija ima tim za IT sigurnost ili nacionalni CERT, uključite ih.
Želim biti jasan: nisam provjeravao vaše web-mjesto ni na jedan od ovih pokazatelja i ne znam je li vaše web-mjesto bilo zahvaćeno. Ovaj je popis ovdje kako biste mogli provjeriti sami.
Nemam webmastera / zapeo sam
Ako niste osoba koja održava web-mjesto, molim vas proslijedite ovu stranicu onome tko to radi (vašem web-programeru, agenciji ili pružatelju usluga hostinga). Oni će brzo prepoznati gornje korake.
Ako sami održavate web-mjesto i zapnete, rado ću vam besplatno pomoći usmjeriti vas u pravom smjeru. Javite se koristeći kontaktne podatke u nastavku.
Kontakt
Evan Harris, istraživač sigurnosti
- E-pošta: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Obraćam se u vezi s ovakvim problemima isključivo kako bih pomogao operaterima osigurati njihova web-mjesta. Ako biste radije da vas se više ne kontaktira, samo mi javite i to ću poštovati.
Reference
Službene obavijesti i praćenje
- Unos u NVD-u (CVE-2026-56291)
- GitHub Advisory Database (GHSA-28f5-j5p5-xmmw)
- CISA katalog poznatih iskorištavanih ranjivosti
Proizvođač (Balbooa)
Izvještavanje i analiza