Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalPublic exploit

Unauthenticated Arbitrary Plugin Installation and File Upload in GutenKit for WordPress

IdentifiersCVE-2024-9234CWE-862· Missing Authorization

CVE-2024-9234 affects the GutenKit – Page Builder Blocks, Patterns, and Templates for Gutenberg Block Editor plugin for WordPress in all versions up to and including 2.1.0. The vulnerability is caused by a missing capability check in the install_and_activate_plugin_from_external() function exposed through the install-active-plugin REST API endpoint. Because the endpoint does not properly verify that the caller has sufficient privileges, an unauthenticated remote attacker can invoke functionality intended for administrative plugin management. This allows installation and activation of arbitrary plugins from an external source, and the same functionality can be abused to upload arbitrary files disguised as plugins. Given WordPress plugin installation semantics, this can lead directly to execution of attacker-supplied PHP code on the target site.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows an unauthenticated attacker to remotely install and activate arbitrary WordPress plugins or upload arbitrary files masquerading as plugins. In practice, this can provide remote code execution in the context of the WordPress application, full compromise of the affected site, persistence through malicious plugin deployment, modification of site content and configuration, creation of administrative users, theft of sensitive data stored in WordPress, and potential follow-on access to the underlying hosting environment depending on server configuration.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, disable or remove the GutenKit plugin until it can be updated. Restrict access to the affected REST API endpoint via WAF, reverse proxy, or web server rules where feasible. Monitor for requests to the install-active-plugin endpoint, unexpected plugin installation or activation events, and new files appearing in plugin directories. Employ file integrity monitoring and least-privilege controls on the web server to reduce post-exploitation impact. Because exploitation is unauthenticated, internet-exposed vulnerable instances should be treated as high priority.

Remediation

Patch, then assume compromise.

Update the GutenKit plugin to a version newer than 2.1.0 that corrects the missing authorization check on the install-active-plugin REST API path and the underlying install_and_activate_plugin_from_external() function. If an official fixed release is available from the vendor, apply it immediately. Review the site for unauthorized plugin installations, unexpected active plugins, and suspicious files in plugin-related directories, and remove any malicious artifacts. Rotate WordPress administrative credentials and other secrets stored on the host if compromise is suspected.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).

VALID 1 / 2 TOTALView more in app
CVE-2024-9234MaturityPoCVerified exploit

This repository contains a Python proof-of-concept exploit for CVE-2024-9234, targeting the WordPress GutenKit plugin (version 2.1.0 and below). The exploit consists of a single script (CVE-2024-9234.py) and a README file. The script first checks if the target WordPress site is running the vulnerable GutenKit plugin by requesting the plugin's readme.txt file and verifying the version. If the site is vulnerable, it then exploits an unauthenticated endpoint ('/wp-json/gutenkit/v1/install-active-plugin') to upload and install a plugin (in this case, 'popularis-extra.1.2.6.zip' from the official WordPress repository) without authentication. This demonstrates the ability to perform arbitrary file uploads, which could be further weaponized by uploading a malicious plugin or webshell. The exploit is network-based and requires only the base URL of the target WordPress site as input.

NxploitedDisclosed Dec 28, 2024pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
WpmetGutenkitapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware1

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity4

Community discussion across Reddit, Mastodon, and other social sources.