Automated Threat Modeling

Brief Summary: CVE-2026-6443 — Supply Chain Backdoor in WordPress Accordion and Accordion Slider Plugin

A short review of CVE-2026-6443, a CVSS 9.8 supply chain backdoor injected into the Accordion and Accordion Slider WordPress plugin after a malicious actor bought the plugin portfolio. Covers how the PHP deserialization backdoor works, what the patch does, and how to remediate.

CVE Analysis

10 min read

ZeroPath CVE Analysis
ZeroPath CVE Analysis

2026-04-16

Brief Summary: CVE-2026-6443 — Supply Chain Backdoor in WordPress Accordion and Accordion Slider Plugin
Experimental AI-Generated Content

This CVE analysis is an experimental publication that is completely AI-generated. The content may contain errors or inaccuracies and is subject to change as more information becomes available. We are continuously refining our process.

If you have feedback, questions, or notice any errors, please reach out to us.

[email protected]

Introduction

A malicious actor bought over 30 WordPress plugins on Flippa, embedded PHP deserialization backdoors in every single one, and then waited eight months before flipping the switch to inject SEO spam across thousands of websites at once. CVE-2026-6443 tracks the specific backdoor in the Accordion and Accordion Slider plugin (version 1.4.6), but the incident is much larger. It was a deliberate, patient supply chain attack on a plugin portfolio with over 400,000 installations and more than 15,000 paying customers.

The Accordion and Accordion Slider plugin is a WordPress extension for building collapsible content sections and image sliders. It is not a household name, but it belonged to the "Essential Plugin" portfolio, a collection of widely used free plugins with premium tiers that had been a fixture in the WordPress ecosystem since 2015. WordPress.org permanently closed all 31 plugins from this vendor on April 7, 2026, which took the whole portfolio out of the official plugin directory.

Technical Information

Root Cause: CWE-506 (Embedded Malicious Code)

The root cause of CVE-2026-6443 is a deliberately injected backdoor (CWE-506). The new owner of the plugin business put it inside a module named wpos-analytics, which was built to look like a harmless analytics component. The first commit containing the backdoor landed in August 2025, but the payload was not activated until April 6, 2026.

The Deserialization Backdoor

The wpos-analytics module contained a PHP deserialization chain that worked like this:

  1. The module calls file_get_contents() to phone home to analytics.essentialplugin.com.
  2. The remote server's response goes straight into @unserialize().
  3. The deserialized object then executes an arbitrary function call via @$clean($this->version_cache, $this->changelog).

The attacker controls all three values in that call. The function name ($clean) and both arguments ($this->version_cache and $this->changelog) are populated from the deserialized server response, so the remote server decides which PHP function runs and with what parameters.

The whole chain was also exposed through a WordPress REST API endpoint configured with permission_callback: __return_true, so anyone could trigger it without authenticating.

Attack Flow

Exploitation ran through a multi-stage execution chain:

Stage 1: Initial Beacon. The plugin contacts analytics.essentialplugin.com to open a connection to the attacker's infrastructure. This beaconing was present from August 2025 onward, but at first the server sent back benign responses.

Stage 2: Payload Download. On activation, the remote server tells the backdoor to fetch a file named wp-comments-posts.php. The name was picked to blend in with legitimate WordPress core files.

Stage 3: Configuration Injection. The malware appends about 6KB of obfuscated PHP to wp-config.php, on the same line as require_once ABSPATH . 'wp-settings.php';. Code in that spot is easy to miss on a casual look, and it gives the malware deep persistence on the host.

Stage 4: Spam Distribution. The injected code serves hidden links and redirects as SEO spam, but only to Googlebot. Normal visitors and site administrators see nothing unusual, which helps the compromise stay undetected.

Blockchain-Based Command and Control

The threat actor built unusually resilient C2 infrastructure. Instead of hardcoding a domain, the backdoor looks up its C2 address by querying an Ethereum smart contract through public blockchain RPC endpoints. Because of that, traditional domain takedowns and DNS sinkholing don't work. If a C2 domain is seized, the attacker can simply update the smart contract to point at a new one, with no plugin update required.

Activation Timeline

Forensic analysis of backup snapshots confirms that the mass injection happened on April 6, 2026, between 04:22 and 11:06 UTC. In that window, the dormant backdoor was weaponized across thousands of sites at once. WordPress.org closed the 31 affected plugins the next day, and the forced patch went out on April 8, 2026. The attacker's C2 endpoint at analytics.essentialplugin.com now returns {"message":"closed"}.

Patch Information

A patch for CVE-2026-6443 is available. WordPress.org force-pushed version 1.4.6.1 on April 8, 2026, and both Wordfence and Patchstack confirm it.

What the Patch Does

The official patch neutralizes the backdoor instead of removing it. Version 1.4.6.1 adds return; statements at the top of the malicious phone-home functions so they exit before doing anything, and it comments out the @$clean() backdoor line. That short-circuits the attack chain. The code that fetches the remote payload and calls @unserialize() is never reached, and the arbitrary function call never runs.

What the Patch Does Not Do

The patch is intentionally minimal. As Austin Ginder at Anchor Hosting documented, the entire wpos-analytics module, backdoor code included, is still on disk in version 1.4.6.1. The return; statements block execution, but the malicious source is still there.

The bigger problem is that the WordPress.org forced update does not touch wp-config.php. If the backdoor was activated before the patch arrived, the roughly 6KB of obfuscated PHP appended to the same line as require_once ABSPATH . 'wp-settings.php'; stays in place and keeps executing, independently of the plugin.

Full Remediation Steps

If the backdoor may have been activated in your environment, the plugin update is not enough. These steps are also required:

Remediation StepTarget ComponentAction Required
Plugin UpdateAccordion and Accordion SliderUpdate to version 1.4.6.1 to neutralize the vulnerable code path
Directory Removalwpos-analytics/ folderDelete the entire directory from the plugin structure
Code StrippingMain plugin PHP fileRemove the loader function block identified by wpos_analytics_anl (searchable via the string "Plugin Wpos Analytics Data Starts")
Core File Cleanupwp-config.phpRemove the 6KB malicious payload appended on the same line as require_once ABSPATH . 'wp-settings.php';
Backdoor Deletionwp-comments-posts.phpLocate and delete this disguised downloader file from the server

Site administrators should update to at least version 1.4.6.1 immediately and audit wp-config.php for injected payloads. Ideally, they should also apply the community-provided deep clean or replace the plugin entirely.

Affected Systems and Versions

Accordion and Accordion Slider version 1.4.6 for WordPress is confirmed vulnerable.

The backdoor was introduced in version 1.4.6 and is resolved in version 1.4.6.1. This plugin is one of over 30 plugins from the same vendor portfolio that were compromised the same way. WordPress.org permanently closed all 31 plugins from the "essentialplugin" author account on April 7, 2026.

Across all its plugins, the compromised portfolio had over 400,000 total installations and more than 15,000 customers.

Vendor Security History

The vendor started as WP Online Support in 2015 and rebranded to Essential Plugin in 2021. The original developers built a portfolio of over 30 free WordPress plugins with premium upgrade paths. The security collapse began with a change in ownership:

DateEventSecurity Implication
Early 2025Business sold on Flippa to a buyer named "Kris"Trust and commit access pass to an unknown entity
May 2025Buyer creates a new WordPress.org accountAttacker gains official publishing rights
August 2025First commit by new ownerAttacker immediately plants the deserialization backdoor
April 6, 2026Mass injection event (04:22 to 11:06 UTC)Dormant backdoor weaponized across thousands of sites
April 7, 2026WordPress.org closes 31 pluginsVendor loses its reputation and its marketplace presence
April 8, 2026Forced update to version 1.4.6.1Official neutralization patch deployed

Intelligence indicates the buyer ("Kris") has a background in SEO, cryptocurrency, and online gambling marketing. That fits how the attack worked, with Ethereum smart contracts keeping the C2 resilient and SEO spam bringing in the money.

References

Detect & fix
what others miss

Works with
  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps Services
  • Gerrit
  • CVS
  • Jira
  • Linear
  • Slack
  • Security Compass
Explore integrations
Security magnifying glass visualization