A critical security vulnerability in the GiveWP Donation Plugin, tracked as CVE-2025-0912, has exposed over 100,000 WordPress websites to unauthenticated remote code execution (RCE) attacks. The flaw, with a severity rating of 9.8 (Critical) on the CVSS scale, originates from improper handling of user-supplied data in the plugin’s donation form processing logic. This allows attackers to inject malicious PHP objects via deserialization of untrusted input, ultimately leading to full server compromise through Property-Oriented Programming (POP) chains.
The vulnerability specifically lies in the plugin’s handling of the card_address parameter within donation forms. Versions up to and including 3.19.4 fail to validate or sanitize serialized data passed through this field, leading to PHP Object Injection (CWE-502). The give_process_donation_form() function deserializes user input without sufficient checks, enabling attackers to craft payloads that instantiate arbitrary PHP objects.
The presence of exploitable POP chains in the plugin’s codebase enables attackers to escalate object injection into system command execution, posing a serious threat.
Exploitation of this flaw bypasses WordPress’s security nonces and requires no authentication, making it accessible to any external attacker. Successful exploitation could lead to arbitrary file deletion, including critical files like wp-config.php, database credential extraction, and backdoor installation via web shells. With GiveWP powering donation systems for various organizations, including nonprofits and political campaigns, compromised websites could face financial fraud, donor data theft, and reputational damage. Attackers could also deface websites, redirect donations, or deploy cryptocurrency miners, creating significant risks to transactional systems integrated with payment gateways like PayPal and Stripe.
Despite the availability of a patch in GiveWP version 3.20.0, over 30% of affected sites remain unpatched, according to security analysts.
Administrators are urged to immediately update to version 3.20.0 or later, audit server logs for suspicious activity, and deploy Web Application Firewall (WAF) rules to block unsafe serialized data. For sites unable to patch immediately, temporary mitigations include disabling the donations widget or restricting form submissions to reCAPTCHA-verified users. The simplicity and high impact of the vulnerability make it an attractive target for ransomware groups, highlighting the need for rigorous plugin audits and automated patch management in WordPress-based websites.