Sigurnosna obavijest za Creative Mail
Ako ste od mene primili e-poruku koja upućuje na ovu stranicu, to je zato što se čini da vaše
web-mjesto koristi verziju dodatka Creative Mail by Constant Contact (WordPress dodatka za
e-mail marketing namijenjenog WooCommerceu, koji se u vašim datotekama nalazi na putanji
/wp-content/plugins/creative-mail-by-constant-contact/) koja spada u zahvaćeni raspon poznatog
sigurnosnog propusta. Ova stranica objašnjava u čemu je propust, koje su verzije zahvaćene, zašto
ne postoji ažuriranje za instalaciju te kako sigurno ukloniti ili zamijeniti dodatak.
Riječ je o propustu CVE-2026-3985, neautenticiranoj SQL injekciji dosežnoj kroz obradu napuštenih košarica (WooCommerce abandoned-cart) u dodatku. Zahvaća verziju 1.6.5 i svako izdanje nakon nje, sve do posljednjeg izdanja koje je proizvođač objavio, verzije 1.6.9, uključujući nju.
Najvažnija praktična činjenica na ovoj stranici: ne postoji ispravljena verzija na koju biste se mogli ažurirati. Dodatak je uklonjen iz kataloga WordPress.org 14. svibnja 2026. i nikada nije ispravljen. Posljednje izdanje, 1.6.9, i dalje sadrži ovaj propust, a novo se izdanje više neće pojaviti. Ovo, dakle, nije uobičajena obavijest tipa „kliknite na ažuriraj”. Rješenje je deaktivirati i ukloniti dodatak, a ako se na njega oslanjate, zamijeniti ga održavanom alternativom. Ostatak ove stranice vodi vas kroz to kako provjeriti svoju verziju i kako to sigurno provesti.
Jedna napomena za umirenje, i to stvarna. Za razliku od nekih propusta o kojima pišem, ovaj ima pravu donju granicu: uveden je u verziji 1.6.5. Verzije 1.6.4 i starije nisu njime zahvaćene: ranjivi kôd u njima jednostavno ne postoji. Ako je vaša instalacija 1.6.4 ili starija, ovaj se konkretan propust na vas ne odnosi. (Uz to, dodatak više nitko ne održava, što je zaseban razlog da s vremenom planirate prelazak na drugo rješenje.)
Riječ je o propustu dodatka, a ne jezgre WordPressa. Potpuno ažuriran WordPress ne štiti vas ako je sam dodatak Creative Mail na zahvaćenoj verziji.
Je li ova poruka vjerodostojna?
Jest. Riječ je o dobronamjernoj obavijesti u duhu odgovornog objavljivanja, od nezavisnog sigurnosnog istraživača. Ne tražim od vas novac, lozinke ni pristup web-mjestu i nisam pokušao u njega provaliti, poslati mu bilo što niti bilo što iskoristiti.
Pogledao sam samo javno dostupne datoteke koje vaše web-mjesto poslužuje svakom posjetitelju (jednako kao što je vaša naslovnica javna) i zabilježio broj verzije koji objavljuje dodatak. Izričito nisam poslao ništa obradi plaćanja ili pristanka (checkout/consent) dodatka, ni na vašem ni na bilo kojem drugom web-mjestu, i ništa u ovoj provjeri ne dira vaše podatke, vašu administraciju ni bilo koji privatni dio web-mjesta (više u odjeljku Što sam učinio, a što nisam u nastavku).
Ako želite provjeriti tko sam, kontakt podaci nalaze se na dnu ove stranice i na stranici O meni.
Zašto je to važno
Creative Mail povezuje WooCommerce trgovinu s Constant Contactom radi e-mail marketinga, a dio onoga što radi jest pamćenje košarica koje su započete, ali nisu dovršene, kako bi trgovina mogla naknadno kontaktirati kupca. Ta obrada napuštenih košarica mjesto je na kojem ovaj propust živi.
U zahvaćenim verzijama, kada dodatak bilježi plaćanje (checkout), jedna od njegovih provjera prema bazi podataka gradi upit tako što u njega izravno lijepi vrijednost koja potječe od posjetitelja, bez upotrebe pripremljene izjave. Ta se vrijednost ne izbjegava za upotrebu u SQL-u. Posljedica je da posjetitelj koji nije prijavljen može izmijeniti taj upit i čitati podatke iz baze podataka vašeg web-mjesta.
Vrijedi biti precizan o tome što ovaj propust jest, a što nije. Napadaču omogućuje da čita podatke iz baze podataka. To je samo po sebi ozbiljno, jer baza podataka WordPressa sadrži stvari poput adresa e-pošte korisnika i raspršenih (hashiranih) lozinki, a na trgovini može sadržavati i podatke o kupcima. No to samo po sebi nije udaljeno izvršavanje koda, preuzimanje web-mjesta niti način da si napadač dodijeli administratorski račun. Uže je od propusta potpune kompromitacije o kojima pišem drugdje, a radije ću razmjere postaviti pošteno nego vas ostaviti sa strašnijim dojmom nego što ga činjenice podupiru.
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. Čitanje broja vaše verzije, kako je opisano u nastavku, govori vam sve što trebate da biste odlučili što učiniti.
Ako je moja e-poruka navela ovaj propust, to znači da verzija koju vaše web-mjesto prijavljuje iznosi 1.6.5 ili je novija. Nisam provjeravao je li baš vaše web-mjesto iskoristivo; sve što sam opazio jest verzija.
Jesam li zahvaćen?
Sve se svodi na jedno pitanje: koju verziju dodatka Creative Mail koristite?
U administraciji WordPressa (mjerodavan izvor):
- Prijavite se u nadzornu ploču WordPressa (obično
vasadomena.hr/wp-admin). - Idite na Dodaci, zatim Instalirani dodaci.
- Pronađite Creative Mail by Constant Contact, stavku čija je mapa
creative-mail-by-constant-contact, i pogledajte verziju prikazanu ispod njezina naziva.
Iz javne datoteke opisa (bez prijave): otvorite u pregledniku
vasadomena.hr/wp-content/plugins/creative-mail-by-constant-contact/readme.txt. Redak
Stable tag: blizu vrha jest verzija koju vaša instalacija prijavljuje, a to je ista javna
datoteka koju sam pročitao. Kod ovog sam dodatka provjerio da se točno podudara sa stvarno
objavljenim kodom, pa je to pouzdana provjera.
Jedna provjera koja kod ovog dodatka ne radi, pa se molim vas nemojte na nju oslanjati. Ako
ste navikli verziju dodatka očitavati iz broja ?ver= pridodanog skripti ili stilskom predlošku
u izvornom kodu stranice, to će vas ovdje zavarati. Kod ovog dodatka ti su brojevi vremenske
oznake datoteka (dugi brojevi poput ?ver=1723603844), a ne verzija dodatka, i uspoređivati
takav broj s 1.6.5 nema smisla. Koristite zaslon u administraciji ili readme.txt.
Zatim primijenite ovo pravilo:
- 1.6.5 ili novije (do 1.6.9 uključivo, posljednjeg izdanja): zahvaćeno. Budući da ne postoji ispravak, korak koji treba poduzeti jest uklanjanje ili zamjena dodatka (vidi u nastavku).
- 1.6.4 ili starije: nije zahvaćeno ovim propustom. Propust je uveden u verziji 1.6.5, pa ga starije instalacije ne sadrže. (Dodatak se svejedno više ne održava, pa je vrijedno planirati prelazak na drugo rješenje.)
Što učiniti: ukloniti ili zamijeniti
Budući da je dodatak povučen bez ispravka, ne postoji ažuriranje za instalaciju: nadzorna ploča WordPressa vam ga neće ponuditi, a verzija koju imate posljednja je koja će ikada postojati. Način na koji se ovaj propust zatvara jest prestati koristiti dodatak. Najprije napravite sigurnosnu kopiju, a zatim ga uklonite:
- Napravite sigurnosnu kopiju web-mjesta (datoteke i baza podataka) prije bilo kakvih promjena. Većina pružatelja hostinga nudi sigurnosne kopije u jednom kliku, ili upotrijebite dodatak za sigurnosne kopije WordPressa.
- U administraciji WordPressa idite na Dodaci, zatim Instalirani dodaci, pronađite Creative Mail by Constant Contact i kliknite Deaktiviraj. Deaktivacija zaustavlja izvođenje ranjivog koda.
- Nakon deaktivacije kliknite Izbriši kako biste uklonili datoteke dodatka. Ako vam je
draža naredbena linija, WP-CLI radi isto:
wp plugin deactivate creative-mail-by-constant-contact, zatimwp plugin delete creative-mail-by-constant-contact. - Potvrdite da je uklonjen: stavka se više ne bi trebala pojavljivati na zaslonu Dodaci, a
vasadomena.hr/wp-content/plugins/creative-mail-by-constant-contact/readme.txtviše se ne bi trebao učitavati.
Ako ste Creative Mail koristili za e-mail marketing svoje trgovine, trebat će vam zamjena kako ne biste izgubili tu mogućnost. U službenom katalogu postoji nekoliko održavanih WooCommerce dodataka za e-poštu i biltene; odaberite onaj koji se trenutačno podržava i prima ažuriranja. Sama usluga Constant Contacta ovim nije zahvaćena: propust je u WordPress dodatku koji je povučen, a ne u usluzi e-pošte, pa je, ako izravno koristite Constant Contact, cilj pronaći trenutačnu, podržanu integraciju.
Kad ste već tu, vrijedi provjeriti jesu li jezgra WordPressa i vaši ostali dodaci ažurni, te ukloniti sve druge dodatke koje više ne koristite.
Nakon uklanjanja
Uklanjanje dodatka zaustavlja svako buduće čitanje iz vaše baze podataka kroz ovaj propust. Ono ne može poništiti ono što je možda već pročitano dok je dodatak bio aktivan na zahvaćenoj verziji. Nemam uvid u to je li se to dogodilo na vašem web-mjestu i nisam gledao; većina web-mjesta u zahvaćenom rasponu vjerojatno nikada nije bila dirana. No budući da vam to ne mogu reći sa sigurnošću, malo je opreza razumno, razmjerno onome što vaša baza podataka sadrži:
- Na trgovini su razumni koraci da vaši administratori promijene lozinke, te da budete svjesni da su kontaktni podaci kupaca iz vaše baze podataka mogli biti izloženi. WordPress i WooCommerce lozinke pohranjuju raspršene (hashirane), a ne u običnom tekstu, ali se raspršene vrijednosti slabih lozinki mogu razbiti izvan mreže, pa nove lozinke uklanjaju tu brigu.
- Ako bilo koji dodaci na vašem web-mjestu pohranjuju vlastite vjerodajnice ili API ključeve, smatrajte i njih vrijednima zamjene.
- Ponovno generiranje tajnih ključeva i „salts” vrijednosti WordPressa u datoteci
wp-config.php(nove su vrijednosti udaljene jedan klik u službenom generatoru ključeva) jednom odjavljuje sve korisnike i poništava svaki ukradeni token sesije.
Da bude jasno kako je ovo postavljeno: riječ je o mjeri opreza, a ne o tvrdnji da su vaši podaci uzeti. Ova se obavijest temelji na broju verzije, a ne na bilo kakvom dokazu o napadu.
Što sam učinio, a što nisam
Radi potpune transparentnosti o provjeri iza moje e-poruke: pročitao sam samo javne datoteke
koje vaše web-mjesto ionako poslužuje svakom posjetitelju, konkretno javnu datoteku readme.txt
dodatka i vašu naslovnicu. Nisam pristupio vašoj WordPress administraciji, bazi podataka ni
bilo kojem privatnom dijelu web-mjesta.
Konkretno, nikada nisam ništa poslao obradi plaćanja ili pristanka (checkout/consent) dodatka, ni na vašem ni na bilo kojem drugom web-mjestu. Ništa nije poslano, pohranjeno, testirano ni iskorišteno. To je ovdje važnije nego na većini ovih stranica, jer je upravo ta obrada ono čega se ovaj propust tiče, pa je „nisam je dirao” cijela razlika između objave i upada.
Također namjerno ne objavljujem pojedinosti koje bi nekome pomogle da postupi po ovom propustu. Gornji opis staje na razini koja je vlasniku web-mjesta potrebna, i ne povezujem nikakav kôd za dokaz koncepta.
Ovo je opažanje utemeljeno na verziji: vaše web-mjesto prijavljuje verziju 1.6.5 ili noviju. Web-mjesto u tom rasponu možda je već zaštićeno drugim sredstvima, primjerice vatrozidom za web-aplikacije. Ova obavijest nije tvrdnja da je vaše web-mjesto u trenutku moje provjere bilo iskoristivo.
Nemam webmastera / zapeo sam
Ako web-mjesto ne održavate vi, proslijedite ovu stranicu osobi koja to čini (vašem programeru, agenciji ili pružatelju hostinga). Gornje će korake brzo prepoznati.
Ako web-mjesto održavate sami i zapnete, rado ću vas besplatno usmjeriti u pravom smjeru. Javite se putem kontakata u nastavku.
Kontakt
Evan Harris, sigurnosni istraživač
- E-pošta: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Javljam se povodom ovakvih pitanja isključivo kako bih pomogao operaterima da osiguraju svoja web-mjesta. Ako ne želite da vas ponovno kontaktiram, samo mi recite i poštovat ću to.
Izvori
Službene objave i praćenje
Proizvođač / dodatak
- Creative Mail by Constant Contact u katalogu dodataka WordPress.org (sada prikazuje dodatak kao zatvoren)