Kiberbiztonsági kutatók egy ellátási lánc-támadásra figyelmeztetnek, amely a WordPress pluginfejlesztő BdThemes-t érinti. Emiatt a tartalomkezelő rendszer (CMS) platform plugin csapata ideiglenesen letiltotta a bővítmények letöltését.
„A hagyományos szoftver-ellátási lánc elleni támadásokkal ellentétben egyetlen forráskódfájlt sem módosítottak a hivatalos WordPress.org tárolóban” – mondta Paolo Tresso, a Wordfence kutatója nyilatkozatában. „Ehelyett a támadók egy statikus, távoli JSON adatfolyamot mérgeztek meg, amelyet egy adminisztrációs promóciós banner komponens tölt be.”
Az érintett pluginok listája:
- Element Pack Addons for Elementor – Elementor Widgets, Elementor Templates, Elementor Addons [bdthemes-element-pack-lite] – több mint 100 000 aktív telepítés
- Live Copy Paste for Elementor – Cross Domain Copy Paste & Page Duplicator [live-copy-paste] – 6000+ aktív telepítés
- Pixel Gallery Addons for Elementor – Easy Grid, Creative Gallery, Drag and Drop Grid, Custom Grid Layout, Portfolio Gallery [pixel-gallery] – N/A
- Prime Slider Addons for Elementor – Widgets, Templates & Elementor Addons [bdthemes-prime-slider-lite] – N/A
- Smart Admin Assistant – Dashboard and Site Enhancements [smart-admin-assistant] – N/A
- Ultimate Post Kit Addons for Elementor [ultimate-post-kit] – N/A
- Ultimate Store Kit – Addon For WooCommerce, EDD and Elementor [ultimate-store-kit] – 6000+ aktív telepítés
Az említett pluginok WordPress plugin-könyvtárbeli oldalain jelenleg az a figyelmeztetés látható, hogy 2026. augusztus 7-én vagy 8-án lezárták őket, és a „teljes körű felülvizsgálat” idejére nem elérhető a letöltésük.
A WordPress biztonsági cég szerint a probléma gyökere egy Biggopti nevű belső komponens, amelyet a pluginokkal együtt szállítanak. A rendszer feladata, hogy promóciós bannereket töltsön le az API szerverükről, és megjelenítse azokat a WordPress admin felületén. Ehhez a DigitalOcean Spaces egyik bucketjéből kér le releváns JSON fájlokat.
A library-ben cross-site scripting (XSS) sebezhetőséget találtak a JSON válasz feldolgozásánál, a Sigmative API „display_id” paraméterén keresztül, az elégtelen kliensoldali escaping miatt. Így ha egy támadó át tudja venni az API felett az irányítást, tetszőleges webes szkripteket injektálhat az oldalakba, amelyek minden egyes hozzáféréskor lefutnak.
Mivel a szkript minden „wp-admin” oldalbetöltéskor fut, a befecskendezett kód észrevétlenül aktiválódik bármely bejelentkezett adminisztrátor böngészőjében. A sebezhetőség a CVSS pontozási rendszerben 5,4-es értékelést kapott, ami közepes súlyosságot jelent.
A változtatásról azt feltételezik, hogy először 2026. március 1-jén került be a „bdthemes-prime-slider-lite” pluginbe, majd onnan terjesztették ki a többi bővítményre. A támadás azért különösen figyelemre méltó, mert teljes egészében az API-n keresztül zajlik, nem igényel plugin frissítést, és a lemezen lévő fájlokhoz sem kell hozzányúlni.
„A támadók írási hozzáférést szereztek ehhez a buckethez, és lecserélték a legitim JSON válaszokat olyan, gondosan összeállított payloadokra, amelyek kihasználják a sebezhetőséget” – közölte a Wordfence. „Az XSS minden bejelentkezett admin böngészőjében, észrevétlenül lefut minden egyes wp-admin oldalbetöltéskor. Innen az injektált szkript ál adminisztrátori fiókokat hoz létre, feltölt egy web shell plugint, és kapcsolatba lép egy command-and-control (C2) szerverrel.”
A fő payloadot az „api-data-all-records” API végponttal juttatják el a pluginekhez. A „w2.js” nevű JavaScript fájl a következő műveleteket hajtja végre:
- Kapcsolatba lép a C2 szerverrel („ia-cdn[.]com/fz/c”), és elküldi az áldozat weboldalának originjét, hogy célzási utasításokat kérjen. Ha a C2 szerver „skip” vagy „done” státuszt ad vissza, a végrehajtás megszakad.
- Új, rosszindulatú adminisztrátort hoz létre a WordPress REST API-n keresztül.
- Letölt egy ál plugin ZIP fájlt a C2 szerverről, majd a szokásos plugin-feltöltő űrlapon keresztül telepíti. Ennek eredményeként egy PHP web shell („emer-run.php”) kerül a rendszerre.
- Meghívja a web shellt, amely két perzisztencia-modult telepít a Must-Use pluginek („mu-plugins”) könyvtárába: az egyik egy „magic-login backdoor”, amely URL paraméteren (?_wplogin=<token>) keresztül, hitelesítés nélkül biztosít adminisztrátori belépést a legrégebben regisztrált admin fiók célzásával, a másik pedig egy elemzés-ellenes, rejtőzködő modul. Utóbbi ráakaszkodik a WordPress adatbázis-lekérdezéseire, hogy elrejtse a rosszindulatú felhasználói fiókokat az adminisztrációs felhasználólista elől, és a teljes felhasználószámot is úgy jelenítse meg, hogy ezek a fiókok ne számítsanak bele.
Egy alternatív payloadot („x.js”) is találtak, amelyet a plugin fejlesztőjének infrastruktúrájáról szolgálnak ki az „api-data-records” API végponton keresztül. Ennek célja, hogy „determinista” adminisztrátori hitelesítő adatokat generáljon, amelyeket matematikailag az áldozat weboldalának hostnevéből vezetnek le.
„Ez az algoritmus előre megjósolható felhasználóneveket állít elő (bd_ előtag, majd egy 6 karakteres base36 hash), valamint jelszavakat (Bd@26! előtag, majd a hash és egy x), és mindezt egy @wordpress.org e-mail címmel párosítja” – mondta a Wordfence. „Mivel a hitelesítő adatok determinisztikusak, a támadóknak nem kell központilag tárolniuk a kompromittált oldalak listáját, az incidenskezelők pedig ki tudják számolni a pontos felhasználónevet és jelszót, amelyet a gyanús domaineken érdemes keresni.”
A generált hitelesítő adatokat ezután egy rosszindulatú adminisztrátori felhasználó létrehozására használják, majd a támadás eredményeit visszaküldik a C2 szervernek.
A kampányban használt C2 szerverről úgy vélik, hogy az elmúlt hónapokban két másik szoftver-ellátási lánc elleni támadáshoz is köthető, amelyek az Advanced Responsive Video Embedder (CVE-2026-18072) és az OptinMonster pluginokat érintették. Mindkét esetben úgy hekkelték meg a WordPress bővítményeket, hogy azok teljes adminisztrátori hozzáférést adjanak nem hitelesített támadóknak: vagy egyetlen, kódban rögzített tokenen keresztül, vagy egy rejtett adminisztrátori fiók és egy láthatatlan plugin segítségével, amelyeket csak akkor hoztak létre és telepítettek, amikor egy oldal adminisztrátora bejelentkezett.
Mindez arra utal, hogy a kampány végső célja rejtett, tartós adminisztrátori hozzáférés és távoli kódfuttatás kiépítése a WordPress környezetekben.
„Az, hogy a rosszindulatú JSON rekordokat és a másodlagos x.js payloadot közvetlenül a gyártó saját bucketjébe töltötték fel, súlyos, upstream jellegű kompromittálódásra utal a BdThemes felhőalapú tárhelyének hitelesítő adatai vagy belső infrastruktúrája terén” – közölte a Wordfence.
A fejlemény néhány nappal azután történt, hogy a WordPress javította a hitelesítés előtti, visszatükrözött XSS hibát (CVE-2026-64638, más néven XSS2Shell, CVSS pontszám: 8,9), amelyet ki lehet használni PHP kód futtatására a szerveren, ha egy bejelentkezett adminisztrátor egy támadó által irányított oldallal lép interakcióba.

