Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2024-10079

CVE-2024-10079: WP Easy Post Types RCE Vulnerability

CVE-2024-10079 is a PHP Object Injection flaw in WP Easy Post Types for WordPress that enables authenticated attackers to execute arbitrary code. This article covers the technical details, affected versions, and mitigation.

Updated:

CVE-2024-10079 Overview

CVE-2024-10079 affects the WP Easy Post Types plugin for WordPress in versions up to and including 1.4.4. The vulnerability stems from insecure deserialization of untrusted input passed through the text parameter in the ajax_import_content function. Authenticated attackers with subscriber-level access or above can inject a PHP object into the deserialization process. The plugin itself contains no Property-Oriented Programming (POP) chain, but a chain present in another installed plugin or theme can enable arbitrary file deletion, sensitive data retrieval, or code execution [CWE-502].

Critical Impact

Authenticated subscribers can trigger PHP Object Injection, which chains with other plugins or themes to enable file deletion, data theft, or remote code execution.

Affected Products

  • Newsignature WP Easy Post Types plugin for WordPress
  • All versions up to and including 1.4.4
  • WordPress sites with any additional plugin or theme providing a usable POP chain

Discovery Timeline

  • 2024-10-18 - CVE-2024-10079 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2024-10079

Vulnerability Analysis

The vulnerability resides in the ajax_import_content function of the WP Easy Post Types plugin. The function accepts a text parameter from an AJAX request and passes it to a PHP deserialization routine without validation. Because deserialization instantiates PHP objects and can invoke magic methods such as __wakeup and __destruct, attacker-controlled serialized data becomes executable object state.

The plugin does not ship a POP chain of its own. However, WordPress environments commonly load dozens of plugins and themes that expose classes with dangerous magic methods. When such classes are autoloaded, a POP chain becomes reachable through the injected object graph. The impact then extends to arbitrary file deletion, sensitive data disclosure, or remote code execution.

Root Cause

The root cause is unsafe use of PHP's unserialize() on user-supplied input reaching the ajax_import_content handler. The handler enforces only a low-privilege capability check, allowing any authenticated user, including subscribers, to reach the sink. See the WordPress Custom Type Code for the affected implementation.

Attack Vector

An attacker authenticates to the target WordPress site with at least subscriber privileges. The attacker sends a crafted AJAX request to the ajax_import_content endpoint with a text parameter containing a serialized PHP object payload. Deserialization triggers the object graph, and any POP gadget loaded by another plugin or theme executes the attacker's intended action.

The vulnerability mechanism is described in prose only; no verified public exploit code is available. Additional analysis is documented in the Wordfence Vulnerability Analysis.

Detection Methods for CVE-2024-10079

Indicators of Compromise

  • POST requests to admin-ajax.php with action=ajax_import_content from low-privilege user sessions
  • text parameter values beginning with PHP serialization markers such as O:, a:, or s:
  • Unexpected file deletions, new PHP files in wp-content/uploads, or modified wp-config.php
  • New administrator accounts or unexplained option changes in wp_options

Detection Strategies

  • Inspect WordPress access logs for authenticated calls to ajax_import_content originating from subscriber, contributor, or author roles
  • Deploy a web application firewall rule that blocks serialized PHP payloads in AJAX request bodies
  • Compare installed plugin versions against the fixed release using automated inventory tooling

Monitoring Recommendations

  • Alert on file integrity changes across wp-content/plugins and wp-content/themes
  • Monitor for PHP process spawning shell utilities such as sh, bash, or curl from the web server user
  • Track outbound network connections initiated by the PHP-FPM or Apache worker processes to unusual destinations

How to Mitigate CVE-2024-10079

Immediate Actions Required

  • Update the WP Easy Post Types plugin to a version later than 1.4.4 as soon as a patched release is available
  • Audit user registrations and disable open registration if not required for site operation
  • Review installed plugins and themes for known POP gadget classes and remove unused components

Patch Information

At the time of publication, the vulnerability affects all versions up to and including 1.4.4. Administrators should consult the Wordfence Vulnerability Analysis and the WordPress.org plugin repository for the latest fixed version and apply it immediately.

Workarounds

  • Deactivate and remove the WP Easy Post Types plugin until a fixed release is installed
  • Restrict access to admin-ajax.php for low-privilege roles using a WAF or reverse proxy rule
  • Remove or disable optional plugins and themes that expose classes with __destruct or __wakeup gadgets
  • Enforce least privilege by demoting or removing unnecessary subscriber-level accounts

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.