ZeroHour
The Hacker Newspublished ()ingested @TheHackersNews

Exposed Hacker Server Reveals WP-SHELLSTORM Backdooring Thousands of WordPress Sites

Vulnerabilities mentionedAll →

CVEVulnerabilityCVSSEPSSFlagsAffectedExposurePublished
CVE-2020-25213
Unauthenticated RCE in WordPress File Manager (wp-file-manager) Plugin

The File Manager (wp-file-manager) WordPress plugin before version 6.9 ships an example elFinder connector file that the plugin renames to have a .php extension, exposing it directly to unauthenticated web requests. An attacker can invoke the elFinder upload (or mkfile and put) commands on that connector to write arbitrary PHP code into the wp-content/plugins/wp-file-manager/lib/files/ directory, which the web server then executes. Successful exploitation yields full unauthenticated remote code execution on the hosting server, compromising the WordPress site and potentially the broader host. Any WordPress site running an affected version of the File Manager plugin is exposed, and the flaw was heavily exploited in the wild in August and September 2020, including mass backdooring campaigns (WP-SHELLSTORM) and chaining with other vulnerabilities such as Zerologon. It carries a CVSS 3.1 score of 9.8, sits in CISA's Known Exploited Vulnerabilities catalog, and has a 97.3% EPSS probability of exploitation.

Do: Update the File Manager (wp-file-manager) plugin to version 6.9 or later immediately, per vendor and CISA instructions. If updating is not immediately possible, deactivate the plugin or remove/restrict the exposed example elFinder connector file, and check wp-content/plugins/wp-file-manager/lib/files/ for unexpected PHP files (e.g., webshells) plus unfamiliar admin users, since exploitation was widespread in August–September 2020.

9.897% KEV PoC ×5
  • filemanagerpro File Manager (wp-file-manager) WordPress plugin before 6.9
mass≈700,000+ WordPress sites (plugin installs reported affected at time of disclosure)
CVE-2020-36847
Unauthenticated Remote Code Execution in Simple File List WordPress Plugin

Simple File List, a WordPress plugin for publishing downloadable file lists, is vulnerable to unauthenticated remote code execution in all versions up to and including 4.2.2 (CWE-434). The flaw is in the plugin's rename function: an attacker first uploads a file containing PHP code with a harmless .png extension, then abuses the rename function to change that file's extension to .php, turning the upload into an executable script on the server. Because the upload and rename operations require no authentication, any remote attacker can run arbitrary code on the web server, which can lead to complete site compromise, webshells, or backdoor installation. All WordPress sites running Simple File List 4.2.2 or earlier are affected, on the order of tens of thousands of installations based on the plugin's active-install count. Public proof-of-concept exploits are available and the vulnerability carries a high EPSS score (44.7% probability of exploitation in 30 days, 99th percentile), though it is not yet listed in CISA's Known Exploited Vulnerabilities catalog.

Do: Update Simple File List to the latest release (any version newer than 4.2.2); there is no configuration mitigation since the attack requires no authentication. Until patched, check the plugin's upload directory for unexpected .php files and renamed .png uploads, and review web server logs for unauthenticated requests to the plugin's upload/rename endpoints. Given ongoing WordPress plugin exploitation campaigns reported in 2026 (e.g., WP-SHELLSTORM), also scan already-patched sites for webshells and backdoors in case exploitation already occurred.

9.844% PoC ×2
  • simplefilelist Simple File List (WordPress plugin) all versions up to and including 4.2.2
large~30,000+ WordPress sites (plugin's published active-install count; only unpatched sites remain vulnerable)
CVE-2021-29441
Nacos is a platform designed for dynamic service discovery and configuration and service management.

Nacos is a platform designed for dynamic service discovery and configuration and service management. In Nacos before version 1.4.1, when configured to use authentication (-Dnacos.core.auth.enabled=true) Nacos uses the AuthFilter servlet filter to enforce authentication. This filter has a backdoor that enables Nacos servers to bypass this filter and therefore skip authentication checks. This mechanism relies on the user-agent HTTP header so it can be easily spoofed. This issue may allow any user to carry out any administrative tasks on the Nacos server.

NVD description · AI analysis pending
9.888% PoC ×2
  • alibaba nacos
CVE-2025-12057
The WavePlayer WordPress plugin before 3.8.0 does not have authorization in an AJAX action as well as does not validate the file to be copied locally, allowing

The WavePlayer WordPress plugin before 3.8.0 does not have authorization in an AJAX action as well as does not validate the file to be copied locally, allowing unauthenticated users to upload arbitrary file on the server and lead to RCE

NVD description · AI analysis pending
9.8<1%
  • WordPress
CVE-2025-34085
Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority as it is a duplicate of CVE-2020-36847.

Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority as it is a duplicate of CVE-2020-36847.

NVD description · AI analysis pending
CVE-2025-7443
The BerqWP – Automated All-In-One Page Speed Optimization for Core Web Vitals, Cache, CDN, Images, CSS, and JavaScript plugin for WordPress is vulnerable to arb

The BerqWP – Automated All-In-One Page Speed Optimization for Core Web Vitals, Cache, CDN, Images, CSS, and JavaScript plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation via the store_javascript_cache.php file in all versions up to, and including, 2.2.42. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

NVD description · AI analysis pending
8.1<1%
  • WordPress
CVE-2025-7852
The WPBookit plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the image_upload_handle() function hooked via t

The WPBookit plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the image_upload_handle() function hooked via the 'add_new_customer' route in all versions up to, and including, 1.0.6. The plugin’s image‐upload handler calls move_uploaded_file() on client‐supplied files without restricting allowed extensions or MIME types, nor sanitizing the filename. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

NVD description · AI analysis pending
9.82%
  • WordPress
CVE-2026-0740
Unauthenticated Arbitrary File Upload RCE in Ninja Forms File Uploads WordPress Plugin

CVE-2026-0740 is a critical (CVSS 9.8) unauthenticated arbitrary file upload vulnerability in the Ninja Forms - File Uploads plugin for WordPress, affecting all versions up to and including 3.3.26. It is caused by missing file type validation in the NF_FU_AJAX_Controllers_Uploads::handle_upload function, so anyone can send a crafted request to the plugin's upload AJAX endpoint with no account, no privileges, and no user interaction. Because uploaded file types are not validated, an attacker can plant arbitrary files, such as PHP scripts, on the web server, which may enable remote code execution and full compromise of the site. Any WordPress site running the File Uploads add-on for Ninja Forms at version 3.3.26 or earlier is exposed, especially sites that accept front-end uploads from visitors. The flaw was partially patched in 3.3.25 and fully fixed in 3.3.27; no public proof-of-concept or confirmed in-the-wild exploitation is known yet, but the 62.9% EPSS score (99th percentile) signals a high likelihood of exploitation within 30 days.

Do: Update the Ninja Forms - File Uploads add-on to version 3.3.27 or later, since 3.3.25-3.3.26 contain only a partial fix. Until patched, restrict or disable unauthenticated front-end uploads and block unauthenticated requests to the plugin's upload AJAX endpoint via WAF rules. Audit the uploads directories for unexpected PHP files or webshells, as arbitrary uploads may have enabled code execution.

9.863%
  • Ninja Forms (Saturday Drive) Ninja Forms - File Uploads (WordPress plugin/add-on) <= 3.3.26 (partially patched in 3.3.25; fully patched in 3.3.27)
largelikely tens of thousands of sites (roughly 10,000-100,000; premium add-on to a core plugin with ~900k+ active installs)
CVE-2026-1969
The trx_addons WordPress plugin before 2.38.5 does not correctly validate file types in one of its AJAX action, allowing unauthenticated users to upload arbitra

The trx_addons WordPress plugin before 2.38.5 does not correctly validate file types in one of its AJAX action, allowing unauthenticated users to upload arbitrary file. This is due to an incorrect fix of CVE-2024-13448

NVD description · AI analysis pending
5.3<1%
  • WordPress
CVE-2026-3300
Unauthenticated RCE via PHP Code Injection in Everest Forms Pro WordPress Plugin

Everest Forms Pro, a premium WordPress form-builder plugin, contains an unauthenticated PHP code-injection flaw (CWE-94) in its Calculation Addon, where the process_filter() function concatenates user-submitted form field values into a PHP code string that is passed to eval() without adequate escaping. The sanitize_text_field() sanitization applied to input does not escape single quotes or other PHP-context characters, so an unauthenticated attacker can submit a crafted value in any string-type form field (text, email, URL, select, radio) on a form using the 'Complex Calculation' feature and execute arbitrary PHP code on the server. Successful exploitation yields full remote code execution (CVSS 3.1: 9.8, AV:N/AC:L/PR:N/UI:N), and related reporting indicates attackers are using it to take over sites and gain admin access, with the WP-SHELLSTORM campaign described as having backdoored thousands of WordPress sites. Any WordPress site running Everest Forms Pro in version 1.9.12 or earlier, where a form uses the Calculation Addon's Complex Calculation feature, is affected. No public proof-of-concept is known and the flaw is not in CISA KEV, but multiple news outlets report active in-the-wild exploitation, and the 39.2% EPSS score (99th percentile) indicates a high probability of exploitation within 30 days.

Do: Update Everest Forms Pro to a version newer than 1.9.12 as soon as possible; as an interim mitigation, disable or remove forms that use the Calculation Addon's Complex Calculation feature (or deactivate the addon). Because the flaw is being actively exploited to backdoor sites and obtain admin access, check affected sites for unauthorized administrator accounts, suspicious or newly modified files and webshells, and unknown plugins/themes, and review form-submission logs for anomalous values in string-type fields.

9.839%
  • WPEverest Everest Forms Pro (Calculation Addon) for WordPress all versions up to and including 1.9.12
moderatelikely in the thousands to low tens of thousands of WordPress sites at most (premium-only plugin, and only sites whose forms use the Calculation Addon's…
CVE-2026-3844
Unauthenticated Arbitrary File Upload in Breeze Cache WordPress Plugin

CVE-2026-3844 is a critical (CVSS 9.8) arbitrary file upload vulnerability in the Breeze Cache plugin for WordPress, caused by missing file type validation in the 'fetch_gravatar_from_remote' function in all versions up to and including 2.4.4. An unauthenticated attacker can trigger the function over the network and upload arbitrary files to the affected site's server, but the flaw is only exploitable when the 'Host Files Locally - Gravatars' option is enabled, which is disabled by default. Uploaded files can include executable PHP such as web shells, so successful exploitation may make remote code execution and full site or server compromise possible. Any WordPress site running Breeze Cache 2.4.4 or earlier with local Gravatar hosting switched on is affected, and press coverage reports more than 400,000 sites at risk. Headlines indicate attackers are already exploiting the flaw in the wild; no public proof-of-concept is known, the EPSS score of 27.7% (98th percentile) signals high near-term exploitation risk, and the CVE is not yet in CISA's KEV.

Do: Sites running Breeze Cache should update to the latest patched release (any version after 2.4.4); if updating is not immediately possible, disable the 'Host Files Locally - Gravatars' setting to close the attack path. Administrators should also audit uploaded files and the webroot for unexpected PHP files or web shells and check site integrity for signs of compromise, given reports of active exploitation and related WordPress backdoor campaigns.

9.828%
  • Cloudways Breeze Cache plugin for WordPress <= 2.4.4 (all versions up to and including 2.4.4)
mass≈400,000+ WordPress sites at risk
CVE-2026-48907
Unauthenticated PHP Code Upload and Execution in Joomla Content Editor (JCE)

CVE-2026-48907 is an improper access control flaw (CWE-284) in the Joomla Content Editor (JCE) extension from Widget Factory Limited that allows unauthenticated users to create new editor profiles. Because these profiles can confer file-upload privileges, an attacker can reach the editor's upload functionality without logging in, upload malicious PHP files, and have the web server execute them, resulting in unauthenticated remote code execution with high impact on system confidentiality, integrity, and availability (CVSS 4.0 score of 10). Any Joomla site running the affected JCE extension is exposed, with internet-facing sites most at risk. The flaw was added to CISA's Known Exploited Vulnerabilities catalog on 2026-06-16, confirming in-the-wild exploitation, and EPSS assigns a 78.1% probability of exploitation within 30 days (100th percentile). No public proof-of-concept is known, but CISA and Australian authorities have warned of active CMS exploitation targeting this flaw.

Do: Apply the latest JCE update per Widget Factory Limited's vendor instructions, in line with CISA BOD 26-04 requirements (federal agencies must patch or discontinue use of the product if mitigations are unavailable). Until patched, verify whether unauthenticated users can create editor profiles in your JCE configuration, restrict access to the extension, and inspect webroots and logs for unexpected PHP file uploads. Given confirmed active exploitation and a very high EPSS score, prioritize internet-facing Joomla sites immediately.

10.078% KEV
  • Widget Factory Limited Joomla Content Editor (JCE)
masson the order of 100,000+ Joomla sites (estimate)
CVE-2026-6433
The Custom css-js-php WordPress plugin through 2.0.7 does not properly sanitize user input before using it in a SQL query, and the result is passed to eval(), a

The Custom css-js-php WordPress plugin through 2.0.7 does not properly sanitize user input before using it in a SQL query, and the result is passed to eval(), allowing unauthenticated users to execute arbitrary PHP code on the server.

NVD description · AI analysis pending
7.31%
  • WordPress

Indicators of compromiseAll →

TypeIndicatorContext
domainhunt.iospilled the group's phishing tools and logs, in a campaign Hunt.io called Operation Roundish . What to do now If you run any o
domainxxooonline.eu.ccucture: 137.175.93[.]126, 43.108.17[.]80, and the domain xs.xxooonline[.]eu[.]cc. What makes WP-SHELLSTORM worth attention is not how ad
ipv42.9.99.5s here. Treat the Joomla JCE flaw (CVE-2026-48907, fixed in 2.9.99.5) as urgent too, since it is a maximum-severity and on CISA'
Full article1,394 words · extracted from thehackernews.com · click to collapse

A cybercrime crew left one of its own servers wide open on the internet for three weeks, and it exposed the operation's inner workings: the hacking tools, the activity logs, and target lists naming more than 1.4 million websites.

Far fewer were actually broken into, but the exposed files showed researchers how a mass site-hacking operation runs from the inside.

The operation, now tracked as WP-SHELLSTORM, is what SOCRadar calls a webshell access brokerage: a crew that breaks into sites at scale, plants a hidden backdoor (a "webshell") on each, and packages that access for resale.

The strongest activity hit WordPress sites running out-of-date plugins. If you run WordPress or Joomla, the two flaws that mattered most were in the Breeze caching plugin and Joomla's JCE editor; skip to the checklist below if that's you.

A forgotten server

Two teams dug into the same exposed folder. SOCRadar's threat intelligence team spotted it on June 11, 2026, on a US-based rented server at 137.175.93[.]126 with no password on it at all. Inside was roughly 800MB across 434 files: webshells, exploit scripts, scan results, the operator's typed command history, and command-and-control settings.

Ctrl-Alt-Intel had analyzed the same directory too, having found it on Hunt.io's open-directory platform, and published on June 22, weeks before SOCRadar's own July 9 writeup. The exposure came down to a basic slip: the operator started a simple Python web server to move files around and left it running for 22 days.

The crew took publicly known bugs in website plugins, most of them in WordPress, and built automated scanners to fire those exploits at massive target lists pulled from FOFA, a Chinese search engine for internet-connected systems, similar to Shodan.

Where a site ran a vulnerable version, the exploit could upload a webshell: a small script that lets the attacker run commands on the server from anywhere, read files, steal passwords, and move deeper into the network.

The toolkit covered 27 known flaws, though a handful did most of the work. The biggest producer was a bug in the Breeze caching plugin (CVE-2026-3844), which the crew fired at more than 45,000 targets and, by its own count, backdoored over 17,000 of them.

That one comes with a catch: it only works when a non-default "Host Files Locally – Gravatars" setting is switched on, so most Breeze installs were never exposed.

The numbers, in plain terms

The headline figure needs a caveat. The 1.4 million count is how many domains were on the target lists, not how many were broken into, and those lists spanned WordPress, Joomla, and other platforms. The single largest file was a list of 587,034 Joomla targets.

The number actually compromised was far smaller, and the two research teams measured it differently: Ctrl-Alt-Intel's deduplicated count found 25,195 sites with confirmed or validated compromise evidence, while SOCRadar, counting active webshells, put the live figure at 5,700-plus.

One flaw shows the gap plainly: a Joomla bug was fired at more than 560,000 targets but landed on only 77 of them.

Being on someone's scan list is not the same as being hacked. Keep that in mind whenever a report leads with a frightening target number.

The tooling and an earlier campaign

The main backdoor, a file named down.php, was heavily obfuscated, four layers deep, and appears to be derived from an open-source Chinese webshell called BestShell. Once running, it could manage files, run commands, open reverse shells, scan the network, and check which security software the host was running.

For its own remote access, the crew used a SNOWLIGHT dropper to install VShell, a stealthy backdoor that disguises its process name as [kworker/0:2] to blend in with the kernel threads in a process list.

Those two tools have a history: in April 2025, Sysdig linked this SNOWLIGHT-to-VShell chain to the suspected Chinese state group UNC5174, activity THN covered at the time. VShell itself, though, is a common tool in Chinese-speaking criminal circles, so its presence alone doesn't point to a state actor.

The server also held traces of an earlier, very different job. SOCRadar found that before the noisy WordPress spree, the same crew ran a quieter campaign in early May 2026 against corporate Java systems. It pulled 613 configuration files from 11 systems across nine companies in fintech, e-commerce, logistics, gaming, and electronics.

The haul included cloud login keys for AWS, Alibaba Cloud, Oracle, Tencent, and DigitalOcean, database passwords, and Alipay RSA private keys. It leaned on an old, well-known bug in Nacos, a configuration server (CVE-2021-29441), that lets an attacker skip the login by faking a single web header.

SOCRadar reads the timing as a sequence: grab high-value corporate credentials first, then pivot weeks later to the higher-volume backdoor work, a funding round before scaling up.

Sloppy tradecraft

Both teams assess with medium-to-high confidence that the operator is Chinese or Chinese-speaking. They point to the fluent Simplified Chinese throughout the code and command history, the reliance on FOFA (which the researchers note needs a Chinese phone number to register), and the Godzilla and VShell tooling favored in Chinese-speaking forums.

SOCRadar goes a step further, reading the crew as financially motivated rather than state-directed. Names in the files (tance, chen-kk, chenyk) are treated as loose leads, not proof. One loose end stands out: a single IP address in Taiwan made more than 42,000 requests downloading the crew's own tools. It could be a second operator, a customer, or another researcher. The logs cannot settle it.

For a group running a genuinely capable toolchain, the crew was careless. It left the server open, left a FOFA config file that FOFA can trace through its law-enforcement channel, and left an unedited command history that laid the whole thing out. When it finally noticed it had been spotted, sometime between July 2 and July 4, it deleted a batch of log lines. Three weeks too late.

The blunder is a familiar one. In March 2026, the same research shop caught Russia's Fancy Bear (APT28) the same way: a forgotten open directory spilled the group's phishing tools and logs, in a campaign Hunt.io called Operation Roundish.

What to do now

If you run any of the targeted software, check it today. These are not obscure bugs: two of them are under active exploitation elsewhere.

Wordfence tracked tens of thousands of blocked attacks against the Everest Forms Pro flaw (CVE-2026-3300) this spring, and the Joomla JCE bug (CVE-2026-48907) is a maximum-severity flaw CISA has added to its Known Exploited Vulnerabilities list.

  • WordPress and Joomla, first: patch Breeze (CVE-2026-3844, fixed in 2.4.5) if the non-default "Host Files Locally – Gravatars" setting is on; it produced the most backdoors here. Treat the Joomla JCE flaw (CVE-2026-48907, fixed in 2.9.99.5) as urgent too, since it is a maximum-severity and on CISA's actively-exploited list, even though it barely landed in this campaign.
  • WordPress and Joomla, also check: ThemeREX Addons (CVE-2026-1969), Simple File List (CVE-2020-36847), Custom CSS JS PHP (CVE-2026-6433), BerqWP (CVE-2025-7443), Ninja Forms uploads (CVE-2026-0740), WavePlayer (CVE-2025-12057), WPBookit (CVE-2025-7852), and WP File Manager (CVE-2020-25213). Both reports list Simple File List under CVE-2025-34085, a now-rejected duplicate; the valid ID is CVE-2020-36847.
  • Nacos: upgrade to 2.2.1 or later and turn authentication on (nacos.core.auth.enabled=true). If your instance was ever exposed, rotate every credential that lived in it, not just the obvious ones.
  • XXL-Job and Spring Boot: close unauthenticated executor endpoints and disable /actuator/heapdump in production.
  • Hunt for the backdoors: search for the crew's webshell filename patterns, such as .bd.php, .wp-log.php, and .brq-*.php. Then check any process named [kworker/X:Y]. A real kernel thread runs no program of its own, so its /proc/<pid>/exe points to nothing. It also has no command line and no network sockets. A [kworker] that shows any of these is an impostor. Block the known infrastructure: 137.175.93[.]126, 43.108.17[.]80, and the domain xs.xxooonline[.]eu[.]cc.

What makes WP-SHELLSTORM worth attention is not how advanced it is, but how ordinary. Public exploits, automated scanning, and a target list a million lines long were enough to compromise sites at scale, no zero-day required. The details are public only because the crew forgot to close its own server.

The Hacker News has reached out to SOCRadar for further details on their findings and will update this story with any response.

Found this article interesting? Follow us on Google News, Twitter and LinkedIn to read more exclusive content we post.

Text extracted automatically; images, tables and formatting may be missing. Original: https://thehackernews.com/2026/07/exposed-hacker-server-reveals-wp.html