BdThemes Plugins: Supply-Chain Attack Creates Hidden WP Admins

Step by step
How the attack unfolded
Click a phase for details – or let the animation play through.
PHASE 1/5 · Supply Chain Compromise

Attackers gained write access to the external JSON data source of the Biggopti component and poisoned the ad-banner data stream.

T1195.002 – Supply Chain Compromise: Compromise Software Supply Chain
  • Manipulation of a static JSON stream from DigitalOcean Spaces (via Cloudflare), no code change in the WordPress.org repository
  • Affected: 7 BdThemes plugins with Biggopti component, incl. Element Pack (>100,000 installs)
  • Poisoned Summer-Sale dataset active from at least June 23, 2026
  • Invisible to file-based integrity scanners – no file changed on disk
PHASE 2/5 · Execution via XSS

The unsanitized display_id value was injected into the wp-admin page, automatically executing malicious script when an admin loaded it.

T1059.007 – Command and Scripting Interpreter: JavaScript
  • Cross-site scripting (XSS) due to missing escaping of the id attribute (since Prime Slider 4.1.9)
  • Script ran on every wp-admin request with the full privileges of the logged-in administrator
  • CVSS 5.4 (medium) reflects only the XSS flaw, not the actual campaign impact
PHASE 3/5 · Privilege Escalation

A rogue additional administrator account was created via the legitimate admin session.

T1136.001 – Create Account: Local Account
  • Creation of an unauthorized admin account via the hijacked session
  • Leveraging the victim's full admin privileges without further authentication
PHASE 4/5 · Persistence

Attackers installed a PHP web shell and persistent backdoors as MU-plugins for silent remote code execution.

T1505.003 – Server Software Component: Web Shell
  • Fake plugin (e.g. wp-smart-thumbnails) with web shell emer-run.php for arbitrary code execution
  • Persistent backdoors as MU-plugins (must-use), non-deactivatable in the dashboard
  • Goal per Wordfence: widespread, silent administrative persistence and remote code execution
PHASE 5/5 · Defense Evasion

A stealth module hid the malicious accounts from the user list and dashboard counts.

T1564 – Hide Artifacts
  • Malicious admin accounts invisible in the normal WordPress dashboard
  • API-driven attack, barely visible to Web Application Firewalls
  • Cleaned JSON stream from Aug 8, 2026 does not remove existing accounts, web shells or backdoors
Short & clear answers
Frequently asked questions about this incident
Am I affected by this attack?
Seven BdThemes plugin packages containing the Biggopti component are affected, most notably Element Pack Addons for Elementor. A compromise requires that an affected plugin version was actively installed and that a logged-in administrator opened the wp-admin area at some point since 23 June 2026. If you are unsure, do not assume you are safe—run a forensic check instead.
What should I do right now?
Immediately deactivate all affected BdThemes plugins and do not trust any unverified version. Because the attack actively hides itself, checking the dashboard is not enough: inspect the database for unexpected admin accounts, search the server for files like emer-run.php and suspicious MU-plugins, and review your logs. If you suspect a compromise, bring in professional forensic help.
Is there already an update that fixes the problem?
No. On 8 August 2026 Wordfence noted "No known patch available" for all seven plugins, and as of 12 August 2026 there was no solid evidence of a secure version. While the poisoned API endpoints returned clean JSON again from 8 August, this does not remove any accounts, web shells or backdoors that were already created.
Why can't I see the malicious admin accounts in my WordPress dashboard?
The attackers deployed a stealth module that hides the malicious accounts from the user list and the count totals. That is why you must check the users directly in the database. Look for unexpected administrators, suspicious email domains such as @wordpress.org, and usernames matching the pattern bd_ followed by six alphanumeric characters.
How could my site be compromised without any file being changed?
The attackers did not tamper with the plugin itself but poisoned an external JSON data source that the plugin fetches on every wp-admin load to display ad banners. An unsanitized value (display_id) enabled cross-site scripting, so malicious JavaScript ran with the full privileges of the logged-in administrator. The attack is entirely API-driven and therefore invisible to file-based integrity scanners.
More security news
You might also be interested in
Critical Elementor Pro Flaw: Attackers Can Fully Take Over WordPress Sites
A file upload bug in Elementor Pro up to 4.2.1 allows RCE without login. Version 4.2.2 fixes the flaw – update now!
Pods Plugin: Critical Flaw Enables Admin Takeover, No Login
A critical flaw in the WordPress plugin Pods lets attackers overwrite admin passwords without login. Over 100,000 sites are affected.
miniOrange SAML SSO: Critical Bypass Turns Attackers Into Admins
Two critical auth bypasses in the miniOrange SAML SSO plugin allow forged SAML assertions—up to full WordPress admin access.