CVE-2026-10038: Charitable (WordPress plugin) · Insecure Direct Object Reference
Affects Charitable (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 4.3 Medium.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 21% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 5 Jun 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| smubCharitable – Donation Plugin for WordPress – Fundraising with Recurring Donations & More | Affected
| Fixed in– |
AI-suggested
Until a fix is available, restrict user roles and permissions carefully and monitor for suspicious activity related to avatar updates. Avoid granting unnecessary upload or media management capabilities to low-privilege users.
Description
The Charitable – Donation Plugin for WordPress (up to version 1.8.11.1) contains an authorization bypass vulnerability that allows authenticated users with Subscriber-level access or higher to delete arbitrary media attachments. This occurs because the plugin does not validate ownership of attachment IDs when updating user avatars, enabling attackers to poison the avatar meta with attacker-chosen attachment IDs and trigger deletion.
References
- wordfence.com/threat-intel/vulnerabilities/id/657bea00-9709-48b8-807a-c9a18b0aee1d?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/abstracts/abstract-class-charitable-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/utilities/class-charitable-data-processor.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/users/class-charitable-user.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/forms/class-charitable-profile-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/forms/class-charitable-profile-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/utilities/class-charitable-data-processor.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/users/class-charitable-user.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/abstracts/abstract-class-charitable-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/forms/class-charitable-profile-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/forms/class-charitable-profile-form.php (opens in a new tab)
- plugins.trac.wordpress.org/changeset/3557047/charitable/trunk/includes/forms/class-charitable-profile-form.php?old=3435951&old_path=charitable%2Ftrunk%2Fincludes%2Fforms%2Fclass-charitable-profile-form.php (opens in a new tab)