This repository contains a Proof of Concept (PoC) script for exploiting a privilege escalation vulnerability in the LiteSpeed Cache WordPress plugin. The vulnerability, identified as CVE-2024-28000, allows unauthenticated users to gain Administrator-level access to a WordPress site by brute-forcing a weak security hash used in the plugin.
The LiteSpeed Cache plugin's user simulation feature is protected by a weak security hash generated using predictable values. An attacker can exploit this vulnerability by brute-forcing the security hash and passing it in a cookie along with a targeted user ID. If successful, the attacker can escalate their privileges to that of an Administrator.
This PoC is for educational purposes only. Do not use this script to target systems without explicit permission from the system owner. Unauthorized access to systems is illegal and unethical.
requests
libraryClone the repository and install the required Python package:
git clone https://github.com/Alucard0x1/CVE-2024-28000.git
cd CVE-2024-28000
pip install -r requirements.txt
Edit the TARGET_SITE
and ADMIN_USER_ID
variables in the script to point to the target WordPress site and the user ID of the Administrator you want to impersonate.
# Target site and admin user ID
target_url = 'http://example.com'
admin_user_id = '1'
The PoC first triggers the generation of the security hash on the target site using an unauthenticated AJAX request. This step is necessary if the crawler feature in the LiteSpeed Cache plugin has not been used, as the hash might not yet be generated.
Run the script to start the brute-force attack:
python litespeed_cache_poc.py
The script will attempt to brute-force the weak security hash by sending requests to the WordPress REST API. If a valid hash is found, it will print the successful hash value, and the exploit will be deemed successful.
[SUCCESS] Valid hash found: <hash>
, it means the exploit was successful, and Administrator-level access was gained.[FAIL] Invalid hash: <hash>
, the attempt failed, and the hash was incorrect.[ERROR] Unexpected response for hash: <hash>
, it indicates that an unexpected status code was returned from the target site.To protect your WordPress site from this vulnerability, ensure that you are using the latest version of the LiteSpeed Cache plugin. Version 6.4 and above include patches that mitigate this vulnerability.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.