CVE-2026-10038

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).
References
Link Resource
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/abstracts/abstract-class-charitable-form.php#L429
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/forms/class-charitable-profile-form.php#L724
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/forms/class-charitable-profile-form.php#L728
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/users/class-charitable-user.php#L986
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10.5/includes/utilities/class-charitable-data-processor.php#L270
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/abstracts/abstract-class-charitable-form.php#L429
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/forms/class-charitable-profile-form.php#L724
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/forms/class-charitable-profile-form.php#L728
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/users/class-charitable-user.php#L986
https://plugins.trac.wordpress.org/browser/charitable/tags/1.8.10/includes/utilities/class-charitable-data-processor.php#L270
https://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
https://www.wordfence.com/threat-intel/vulnerabilities/id/657bea00-9709-48b8-807a-c9a18b0aee1d?source=cve
Configurations

No configuration.

History

23 Jul 2026, 07:10

Type Values Removed Values Added
Summary
  • (es) El plugin Charitable - Donation Plugin for WordPress - Fundraising with Recurring Donations & More para WordPress es vulnerable a Referencia Directa a Objeto Insegura / Omisión de Autorización que conduce a la Eliminación Arbitraria de Archivos Adjuntos en versiones hasta la 1.8.11.1, inclusive, a través del flujo de actualización del avatar del perfil. Esto se debe a que la función save_avatar() en Charitable_Profile_Form llama a wp_delete_attachment() en un ID de archivo adjunto leído del metadato 'avatar' del usuario sin validar que el archivo adjunto sea propiedad del usuario, combinado con que Charitable_Data_Processor::process_picture() devuelve el valor publicado sin procesar cuando no se carga ningún archivo, lo que permite que el metadato de usuario 'avatar' sea 'envenenado' con cualquier ID de archivo adjunto elegido por el atacante. Esto hace posible que atacantes autenticados, con acceso de nivel Suscriptor y superior, eliminen archivos adjuntos arbitrarios de la Biblioteca de Medios realizando una cadena de dos solicitudes (primero 'envenenando' el valor del metadato de avatar almacenado con un ID de archivo adjunto objetivo, luego activando la eliminación a través de una carga normal de avatar).

06 Jun 2026, 00:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-06-06 00:16

Updated : 2026-07-23 07:10


NVD link : CVE-2026-10038

Mitre link : CVE-2026-10038

CVE.ORG link : CVE-2026-10038


JSON object : View

Products Affected

No product.

CWE
CWE-639

Authorization Bypass Through User-Controlled Key