CVE-2020-28035 Overview
CVE-2020-28035 is a critical privilege escalation vulnerability affecting WordPress versions prior to 5.5.2. The flaw exists within the XML-RPC interface, allowing unauthenticated remote attackers to gain elevated privileges on vulnerable WordPress installations. This vulnerability poses a significant risk to the vast number of WordPress-powered websites, potentially enabling attackers to take complete control of affected systems.
Critical Impact
Unauthenticated attackers can exploit this XML-RPC vulnerability to gain administrative privileges, potentially leading to complete site takeover, data theft, and malicious content injection.
Affected Products
- WordPress versions prior to 5.5.2
- Fedora 31, 32, and 33 (via WordPress packages)
- Debian Linux 10.0 (via WordPress packages)
Discovery Timeline
- 2020-11-02 - CVE-2020-28035 published to NVD
- 2024-11-21 - Last updated in NVD database
Technical Details for CVE-2020-28035
Vulnerability Analysis
This privilege escalation vulnerability resides in WordPress's XML-RPC implementation, a protocol that enables remote procedure calls using XML encoding over HTTP. XML-RPC has historically been a target for attackers due to its powerful capabilities and sometimes inadequate security controls.
The vulnerability allows attackers to bypass authentication mechanisms and gain elevated privileges without valid credentials. When successfully exploited, an attacker can escalate their privileges to administrative levels, granting them full control over the WordPress installation.
The network-based attack vector requires no prior authentication or user interaction, making it particularly dangerous for internet-facing WordPress deployments. The exploitation complexity is low, meaning even less sophisticated attackers can potentially leverage this flaw.
Root Cause
The root cause of CVE-2020-28035 stems from improper access control and insufficient validation within the XML-RPC request handling mechanism in WordPress. The vulnerability occurs when the XML-RPC endpoint processes certain malformed or specially crafted requests, failing to properly verify the requester's authorization level before granting elevated privileges.
WordPress's XML-RPC functionality, while useful for remote publishing and management, has been a recurring source of security issues due to the complex privilege checks required for various remote operations. In this case, the privilege verification logic contained a flaw that allowed bypass of intended access controls.
Attack Vector
The attack is conducted remotely over the network by sending malicious XML-RPC requests to the vulnerable WordPress installation. The attack flow typically follows this pattern:
- The attacker identifies a WordPress installation running a version prior to 5.5.2
- The attacker crafts a malicious XML-RPC request targeting the vulnerable endpoint at /xmlrpc.php
- The request bypasses authentication checks due to the vulnerability in privilege handling
- Upon successful exploitation, the attacker gains elevated privileges on the target system
The XML-RPC endpoint is typically located at https://[target-domain]/xmlrpc.php and accepts POST requests containing XML-formatted method calls. Attackers exploit the vulnerability by manipulating these method calls to trigger the privilege escalation condition.
Detection Methods for CVE-2020-28035
Indicators of Compromise
- Unusual or unexpected POST requests to /xmlrpc.php with malformed XML payloads
- New administrator accounts created without legitimate authorization
- Modified WordPress core files or plugin configurations
- Unauthorized content changes or injected malicious scripts
- Anomalous system.multicall or wp.getUsersBlogs requests in web server logs
Detection Strategies
- Monitor web server access logs for suspicious activity patterns targeting xmlrpc.php
- Implement Web Application Firewall (WAF) rules to detect and block malicious XML-RPC requests
- Review WordPress user accounts for unauthorized privilege changes or new administrator accounts
- Deploy endpoint detection solutions to identify post-exploitation activities and lateral movement
Monitoring Recommendations
- Enable detailed logging for all XML-RPC endpoint interactions
- Configure alerting for new user account creation, especially administrator-level accounts
- Implement file integrity monitoring on WordPress core files and configuration
- Monitor for outbound connections from the web server that may indicate command-and-control activity
How to Mitigate CVE-2020-28035
Immediate Actions Required
- Upgrade WordPress to version 5.5.2 or later immediately
- If immediate patching is not possible, disable XML-RPC functionality entirely
- Review all user accounts for unauthorized privilege escalations and remove suspicious accounts
- Conduct a thorough security audit of WordPress installations to identify potential compromises
Patch Information
WordPress has addressed this vulnerability in version 5.5.2, released as a security and maintenance update. Organizations should apply this patch immediately to protect against exploitation.
For detailed patch information, refer to the WordPress Security Release 5.5.2 announcement. Additional security advisories are available from Debian Security Advisory DSA-4784 for Debian-based systems and the Fedora package announcements for Fedora users.
Workarounds
- Disable XML-RPC functionality by adding a filter in wp-config.php or using a security plugin
- Block access to xmlrpc.php at the web server level using .htaccess or nginx configuration
- Implement IP-based access restrictions to limit XML-RPC access to trusted networks only
- Use a WAF to filter and block malicious XML-RPC requests
# Apache .htaccess configuration to block XML-RPC access
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
# Optionally allow specific trusted IPs
# Allow from 192.168.1.0/24
</Files>
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


