CVE-2024-8353
Published: 28 September 2024
Summary
CVE-2024-8353 is a critical-severity Deserialization of Untrusted Data (CWE-502) vulnerability in Givewp Givewp. Its CVSS base score is 9.8 (Critical).
Operationally, ranked in the top 0.3% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
The GiveWP Donation Plugin and Fundraising Platform for WordPress is affected by a PHP Object Injection vulnerability (CWE-502) in all versions through 3.16.1. The flaw stems from unsafe deserialization of untrusted input passed through parameters such as give_title and card_address in the donation processing code; the presence of a stripslashes_deep call on the user_info array allows an attacker to bypass the plugin’s is_serialized check. A reachable POP chain then permits the injected object to perform arbitrary file deletion and remote code execution.
Unauthenticated attackers can exploit the issue over the network by submitting crafted donation requests that trigger object deserialization. Successful exploitation grants the ability to delete arbitrary files on the server and achieve remote code execution, resulting in full site compromise.
The referenced WordPress plugin changesets show that the issue was largely addressed in version 3.16.1 through updates to process-donation.php, admin-actions.php, and Utils.php, with additional hardening applied in 3.16.2 to further restrict deserialization.
The EPSS score remains high, with a current value of 0.9164 and a peak of 0.9202.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-49119
Vulnerability details
The GiveWP – Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.16.1 via deserialization of untrusted input via several parameters like 'give_title' and 'card_address'. This makes it…
more
possible for unauthenticated attackers to inject a PHP Object. The additional presence of a POP chain allows attackers to delete arbitrary files and achieve remote code execution. This is essentially the same vulnerability as CVE-2024-5932, however, it was discovered the the presence of stripslashes_deep on user_info allows the is_serialized check to be bypassed. This issue was mostly patched in 3.16.1, but further hardening was added in 3.16.2.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Penetration testing supplies malicious serialized objects, detecting unsafe deserialization and supporting corrective actions.
Evaluation of untrusted data handling (deserialization testing) reveals unsafe processing, which the required remediation process addresses.
Untrusted serialized data can be deserialized and observed inside the chamber, blocking gadget-chain exploitation outside the sandbox.
Validates or rejects untrusted serialized data before deserialization occurs.
Identifies and blocks malicious code introduced through deserialization of untrusted data at system boundaries.
Integrity verification of serialized information can detect tampering before deserialization occurs.
Provenance of associated data allows detection of untrusted sources before deserialization or processing occurs.