CVE-2024-10078
📋 TL;DR
The WP Easy Post Types WordPress plugin has a missing capability check vulnerability that allows authenticated users with subscriber-level access or higher to add, modify, or delete plugin options and posts. This affects all versions up to and including 1.4.4. Any WordPress site using this vulnerable plugin is at risk.
💻 Affected Systems
- WP Easy Post Types WordPress Plugin
📦 What is this software?
Wp Easy Post Types by Newsignature
⚠️ Risk & Real-World Impact
Worst Case
Attackers could completely compromise the WordPress site by modifying critical settings, deleting content, or injecting malicious code through post modifications, potentially leading to complete site takeover.
Likely Case
Authenticated attackers would modify plugin settings to gain elevated privileges, delete or deface posts, or inject malicious content into the site.
If Mitigated
With proper access controls and monitoring, impact would be limited to unauthorized post modifications that could be detected and rolled back.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward due to missing capability checks in multiple functions.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.4.5 or later
Vendor Advisory: https://wordpress.org/plugins/easy-post-types/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'WP Easy Post Types' and click 'Update Now'. 4. Alternatively, download version 1.4.5+ from WordPress.org and replace the plugin files manually.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily deactivate the WP Easy Post Types plugin until patched
wp plugin deactivate easy-post-types
Restrict User Registration
allDisable new user registration to prevent attackers from obtaining subscriber accounts
🧯 If You Can't Patch
- Implement strict access controls and monitor all authenticated user activity
- Regularly audit and review all posts and plugin settings for unauthorized changes
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → Installed Plugins for WP Easy Post Types version 1.4.4 or earlier
Check Version:
wp plugin list --name=easy-post-types --field=version
Verify Fix Applied:
Verify plugin version is 1.4.5 or later in WordPress admin panel
📡 Detection & Monitoring
Log Indicators:
- Unauthorized POST requests to plugin admin endpoints
- Unexpected modifications to wp_options table
- Posts modified by low-privilege users
Network Indicators:
- HTTP requests to /wp-admin/admin-ajax.php with action parameters related to easy-post-types
SIEM Query:
source="wordpress.log" AND (uri_path="/wp-admin/admin-ajax.php" AND action CONTAINS "easy_post_types") AND user_role="subscriber"
🔗 References
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L111
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L112
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L113
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L114
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L115
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L116
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L117
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L118
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L119
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L120
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L121
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L122
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L123
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L124
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L125
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L126
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L127
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L128
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L129
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L130
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L131
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L132
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L133
- https://plugins.trac.wordpress.org/browser/easy-post-types/tags/1.4.4/custom-type.php#L134
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d12c4b1c-23d0-430f-a6ea-0a3ab487ed10?source=cve