Ako ste od mene primili e-poštu koja vas upućuje na ovu stranicu, to je zato što vaše web-mjesto, čini se, koristi ranjivu verziju dodatka Premium Packages (WordPress dodatka wpdm-premium-packages, dodatka za WordPress Download Manager autora Shahjade / wpdownloadmanager.com). Ova stranica objašnjava zašto je to važno i kako to popraviti.

Ova se obavijest odnosi na CVE-2026-15348, neautentificirano zaobilaženje autentifikacije u dodatkovom rukovatelju preuzimanja koje bi neovlaštenom posjetitelju moglo omogućiti da se prijavi kao kupac ili drugi neadministratorski račun na vašoj trgovini. Zahvaća verzije od 4.7.0 do 7.0.4, a ispravljena je u verziji 7.0.5. Ako koristite zahvaćenu verziju, ažurirajte Premium Packages na 7.0.5 ili noviji.

Nekoliko riječi o hitnosti, jer se nalazi između mojih ostalih obavijesti: ovaj problem ne zahtijeva nikakvu prijavu (potpuno je neautentificiran), pa se isplati ažurirati bez odgode. Istodobno, riječ je o ranjivosti pristupa računu koja zahvaća neadministratorske vlasnike narudžbi, a ne o preuzimanju poslužitelja ili potpune administratorske kontrole, i nema naznaka da se iskorištava (nije u CISA-inu katalogu poznatih iskorištavanih ranjivosti, a nisam upoznat ni s jednim izvještajem o iskorištavanju). Ova je stranica upozorenje iz predostrožnosti, a ne izvještaj o incidentu. Ažuriranje zatvara problem i ne podrazumijeva se nikakav hitni odgovor.

Ovo je ranjivost dodatka, a ne jezgre WordPressa. Potpuno ažuran WordPress vas ne štiti ako je sam dodatak Premium Packages na zahvaćenoj verziji.

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 javno vidljive datoteke koje vaše web-mjesto poslužuje svakom posjetitelju (na isti način na koji je vaša naslovnica javna) i zabilježio podatak o verziji koji dodatak Premium Packages objavljuje u svojoj javnoj datoteci readme.txt. Ranjive krajnje točke izričito se nisam dotaknuo, a ništa u ovoj provjeri ne dira vaše podatke, vašu administratorsku zonu ni bilo koji privatni dio vašeg web-mjesta (više pojedinosti u odjeljku Što sam učinio, a što nisam u nastavku).

Ako želite provjeriti tko sam, pogledajte kontaktne podatke na dnu ove stranice i stranicu O meni.

Zašto je ovo važno

Premium Packages dodatak je za WordPress Download Manager (oko 2.000 aktivnih instalacija) koji web-mjestu omogućuje prodaju digitalnih proizvoda i preuzimanja. U zahvaćenim verzijama, dodatkov rukovatelj download() izvršava se na neautentificiranom zahtjevu. Dekodira parametar URL-a pod kontrolom napadača (wpdmppdl) koji je samo base64-kodiran, bez potpisa i bez nonce vrijednosti koji bi dokazali da je zahtjev vjerodostojan, a zatim izdaje WordPress kolačiće za prijavu nakon provjere “domene” čije su obje strane pod kontrolom napadača (pa se provjera trivijalno zadovoljava). Ova se vrsta pogreške naziva zaobilaženje autentifikacije: sporedni put predaje prijavljenu sesiju a da nikad ne provjeri tko postavlja zahtjev.

Praktični je učinak taj da bi se neautentificirani posjetitelj mogao prijaviti kao bilo koji neadministratorski korisnik koji je vlasnik narudžbe na trgovini: račun kupca, pretplatnika, autora, urednika ili voditelja trgovine. Da bude jasno gdje je gornja granica: to ne daje administratorski pristup i ne predaje samo po sebi napadaču vaš poslužitelj. Riječ je o preuzimanju računa neadministratorskih vlasnika narudžbi.

Nadležno tijelo za dodjelu problemu nije dodijelilo CVSS ocjenu, pa mu ni ja neću pridružiti broj; kvalitativno je ozbiljan jer ne zahtijeva prijavu, ali ograničen jer je pristup koji donosi neadministratorski. Ako je moja e-pošta navela ovaj problem, to znači da verzija koju vaše web-mjesto prijavljuje spada u zahvaćeni raspon. Nisam testirao je li vaše konkretno web-mjesto iskoristivo, samo da prijavljuje zahvaćenu verziju.

Dobra vijest: ažuriranje na ispravljenu verziju zatvara problem, a ažuriranje je jednostavno.

Jesam li zahvaćen? Kako provjeriti svoju verziju

Ovo je jedini dio ove obavijesti koji se razlikuje od ostalih koje šaljem, jer su javna polja verzije ovog dodatka nepouzdana, pa ga vrijedi pozorno pročitati.

Mjerodavna provjera jest administratorska zona WordPressa. Ona prikazuje stvarnu instaliranu verziju:

  1. Prijavite se na svoju WordPress nadzornu ploču (obično na yourdomain.com/wp-admin).
  2. Idite na Plugins pa Installed Plugins.
  3. Pronađite Premium Packages i zabilježite verziju prikazanu ispod njegova naziva.

Zatim primijenite ovo pravilo, uz napomenu da se verzije uspoređuju brojčano, a ne abecedno:

  • Bilo koja verzija niža od 7.0.5: zahvaćena, ažurirajte odmah.
  • 7.0.5 ili novije: već ispravljeno.

Zašto ne samo pročitati javne datoteke? Zato što vas kod ovog dodatka one mogu zavesti:

  • Redak “Stable tag:” u javnoj datoteci readme.txt dodatka zaostaje za vlastitim kodom. Web-mjesto koje koristi posljednje ranjivo izdanje (7.0.4) objavljuje, na primjer, Stable tag: 7.0.3. Dakle, javni je readme pouzdan pokazatelj “ispravljenog” samo kad glasi 7.0.5 ili više. Niži broj vam ne govori pouzdano vaše točno izdanje; sve ispod 7.0.5 tretirajte kao “provjeri wp-admin i ažuriraj”.
  • Nemojte procjenjivati svoju verziju iz broja ?ver= na URL-ovima skripti ili stilova dodatka. Dodatak je u sigurnosnom izdanju 7.0.5 zamrznuo svoju internu konstantu verzije na 7.0.4, pa zakrpano web-mjesto s verzijom 7.0.5 i dalje poslužuje resurse označene ?ver=7.0.4; a ?ver= CSS datoteke zapravo je verzija jezgre WordPressa, a ne dodatka. Ni jedno ni drugo ne odražava stvarnu verziju dodatka. Koristite wp-admin.

Kako se nadograditi

Najsigurniji put jest ažuriranje kroz sam WordPress, uz prethodno stvaranje sigurnosne kopije:

  1. 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 WordPress dodatak za sigurnosno kopiranje.
  2. U administratorskoj zoni WordPressa idite na Dashboard pa Updates, ili Plugins pa Installed Plugins. Ako je ažuriranje dodatka Premium Packages navedeno, instalirajte ga odavde.
  3. Ako radije koristite naredbeni redak, WP-CLI radi istu stvar: wp plugin update wpdm-premium-packages.
  4. Ako se ažuriranje ne pojavi, najnovije izdanje možete preuzeti izravno sa stranice dodatka u direktoriju WordPress.org, Premium Packages, i ažurirati putem Plugins pa Add New Plugin pa Upload Plugin.
  5. Nakon ažuriranja potvrdite novi broj verzije (7.0.5 ili noviji) u Plugins pa Installed Plugins prema gornjim koracima i provjerite da vaša preuzimanja i značajke trgovine rade normalno.

Kad ste već tu, vrijedi potvrditi da su jezgra WordPressa, WordPress Download Manager i vaši ostali dodaci ažurni, budući da isto načelo vrijedi za sve njih.

Nakon ažuriranja

Ažuriranje na 7.0.5 ili noviji zatvara problem i za većinu je web-mjesta to cijeli posao. Nema naznaka da je ova ranjivost iskorištavana, pa se ne podrazumijeva nikakav hitni odgovor: ne morate tretirati svoje web-mjesto kao kompromitirano, isključivati ga ni prisilno ponovno postavljati lozinke.

Budući da bi ranjivost neovlaštenom posjetitelju mogla omogućiti djelovanje na račun kupca ili drugi neadministratorski račun, jedan je rutinski naknadni korak razuman: pregledajte nedavnu aktivnost korisničkih računa i narudžbi ima li ičega nepoznatog, na primjer narudžbi ili izmjena računa koje kupac nije napravio ili prijava koje se ne poklapaju s uobičajenom aktivnošću. Tretirajte to kao uobičajeno održavanje kakvo trgovina povremeno obavlja, a ne kao odgovor na incident. Ako nešto ipak izgleda pogrešno, vrijede uobičajeni koraci (ponovno postavite lozinku tog računa i pregledajte aktivnost zajedno s kupcem), a slobodno mi se javite s pitanjima.

Što sam učinio, a što nisam

Da budem potpuno transparentan o provjeri koja stoji iza moje e-pošte: čitao sam samo javne datoteke koje vaše web-mjesto već poslužuje svakom posjetitelju, konkretno javnu datoteku dodatka readme.txt i vašu naslovnicu. Nisam pristupao vašoj administratorskoj zoni WordPressa, vašoj bazi podataka ni bilo kojem privatnom dijelu web-mjesta. Posebno, ranjive krajnje točke nisam se dotaknuo i ništa nisam testirao niti iskorištavao.

Ovo je opažanje temeljeno na verziji: vaše web-mjesto prijavljuje verziju u zahvaćenom rasponu. Web-mjesto u tom rasponu možda je već zaštićeno drugim sredstvima (na primjer vatrozidom za web-aplikacije ili ispravkom prenesenim u stariju verziju), pa ova obavijest nije tvrdnja da je vaše web-mjesto bilo iskoristivo u trenutku moje provjere.

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

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

Proizvođač / dodatak