Description
The Charitable – Donation Plugin for WordPress – Fundraising with Recurring Donations & More plugin for WordPress is vulnerable to Insecure Direct Object Reference / Authorization Bypass leading to Arbitrary Attachment Deletion in versions up to, and including, 1.8.11.1 via the profile avatar update flow. This is due to the save_avatar() function in Charitable_Profile_Form calling wp_delete_attachment() on an attachment ID read from the user's 'avatar' meta without validating that the attachment is owned by the user, combined with Charitable_Data_Processor::process_picture() returning the raw posted value when no file is uploaded, allowing the 'avatar' user meta to be poisoned with any attacker-chosen attachment ID. This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete arbitrary attachments from the Media Library by performing a two-request chain (first poisoning the stored avatar meta value with a target attachment ID, then triggering deletion via a normal avatar upload).
Problem types
CWE-639 Authorization Bypass Through User-Controlled Key
Product status
Any version
Timeline
| 2026-05-28: | Vendor Notified |
| 2026-06-05: | Disclosed |
Credits
Khanh Nguyen
References
www.wordfence.com/...-9709-48b8-807a-c9a18b0aee1d?source=cve
plugins.trac.wordpress.org/...ract-class-charitable-form.php
plugins.trac.wordpress.org/...-charitable-data-processor.php
plugins.trac.wordpress.org/...sers/class-charitable-user.php
plugins.trac.wordpress.org/...ss-charitable-profile-form.php
plugins.trac.wordpress.org/...ss-charitable-profile-form.php
plugins.trac.wordpress.org/...-charitable-data-processor.php
plugins.trac.wordpress.org/...sers/class-charitable-user.php
plugins.trac.wordpress.org/...ract-class-charitable-form.php
plugins.trac.wordpress.org/...ss-charitable-profile-form.php
plugins.trac.wordpress.org/...ss-charitable-profile-form.php
plugins.trac.wordpress.org/...ss-charitable-profile-form.php