Cloudanix VulnDB

CVE-2014-4725

None

CVSS

—

EPSS

60.7%

Published

Jul 27, 2014

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Attend

A popular WordPress newsletter plugin had a hole that let anyone on the internet upload and run their own code on the site without needing a password.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Authentication Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw permits unauthenticated remote code execution by allowing an attacker to upload a malicious PHP-containing theme file through wp-admin/admin-post.php and then directly access and execute the uploaded code from wp-content/uploads/wysija/themes/mailp/.

Why it matters to the business

Compromised sites can be fully taken over, resulting in data theft, site defacement, malware distribution, or use as a pivot point for further attacks; given the plugin's historical popularity, many older WordPress installations remain exposed years after disclosure.

How an attack unfolds

An attacker forges an HTTP POST request to wp-admin/admin-post.php that uploads a crafted theme archive embedding executable PHP, then retrieves the file directly from the predictable uploads path to trigger code execution and establish control without any prior authentication.

How to fix it

Upgrade the MailPoet Newsletters plugin to version 2.6.7 or later; restrict direct access to the uploads/wysija/themes directory and disable PHP execution in that path if an immediate upgrade is not feasible.

How to confirm the fix worked

Verify the installed plugin version is 2.6.7 or newer via the WordPress plugins page or wp-content/plugins/wysija-newsletters/readme.txt; confirm that requests to admin-post.php with theme-upload parameters are rejected for unauthenticated users and that uploaded theme files are no longer directly executable.

Typical attack path

  1. Identify a WordPress site running the vulnerable MailPoet plugin
  2. Craft a theme archive containing a PHP payload
  3. Send an unauthenticated POST to wp-admin/admin-post.php to upload the theme
  4. Access the uploaded file via wp-content/uploads/wysija/themes/mailp/ to execute the payload
  5. Establish persistence or pivot to additional actions on the compromised host

How to detect it

Inspect web server logs (Apache/Nginx) for POST requests to admin-post.php that include wysija or theme-upload indicators; search the wp-content/uploads/wysija/themes/mailp/ directory for recently added PHP files; review file-creation timestamps around the time of suspicious upload requests.

  • POST /wp-admin/admin-post.php.*wysija
  • wp-content/uploads/wysija/themes/mailp/
  • files named *.php inside wysija/themes/mailp/
  • User-Agent strings followed by direct GET requests to uploads/wysija/themes/mailp/

What your security team should do

  • Immediately update all instances of the MailPoet plugin to 2.6.7 or newer
  • Review web server access logs for historical requests to admin-post.php containing theme-upload parameters
  • Block or sanitize direct access to wp-content/uploads/wysija/themes/
  • Scan the uploads directory for unexpected PHP files created after 2014-07-27
  • Monitor EPSS score and exploit availability for any resurgence in targeting

The record

The MailPoet Newsletters (wysija-newsletters) plugin before 2.6.7 for WordPress allows remote attackers to bypass authentication and execute arbitrary PHP code by uploading a crafted theme using wp-admin/admin-post.php and accessing the theme in wp-content/uploads/wysija/themes/mailp/.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities