{"id":"CVE-2026-118193","title":"GiveWP <= 4.19.1 - Authenticated (Custom+) Privilege Escalation to 'donor_default_user_role' Parameter","summary":"The GiveWP – Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.19.1 via the `donor_default_user_role` parameter. This is due to the `sanitize_optio…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-269"],"vendor":"stellarwp","product":"GiveWP – Donation Plugin and Fundraising Platform","affected":["givewp_donation_plugin_and_fundraising_platform <= 4.19.1"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-11-05T20:39:42.986653Z"},"published":"2026-11-05","updated":"2026-11-05","sourceUpdated":"2026-11-05T20:40:02.169Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-118193","references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/f2ab1544-2428-4c93-b973-8280ff7a2903?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/give/tags/4.19.0/includes/admin/settings/class-settings-advanced.php#L436"},{"url":"https://plugins.trac.wordpress.org/browser/give/tags/4.19.0/includes/admin/admin-actions.php#L971"},{"url":"https://plugins.trac.wordpress.org/browser/give/tags/4.19.0/includes/process-donation.php#L1200"},{"url":"https://plugins.trac.wordpress.org/browser/give/tags/4.19.0/src/Donors/Actions/CreateUserFromDonor.php#L23"},{"url":"https://plugins.trac.wordpress.org/changeset/3782355/give/trunk/includes/admin/settings/class-settings-advanced.php"}],"tags":["cve.org"],"epss":0.00397,"epssPercentile":0.34161,"ingestedAt":"2026-11-05T22:38:31.841Z","slug":"CVE-2026-118193","body":"## Overview\n\nThe GiveWP – Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.19.1 via the `donor_default_user_role` parameter. This is due to the `sanitize_option_donor_default_user_role()` function applying only a narrow literal check against the string `'administrator'` rather than enforcing the plugin's own `give_get_donor_safe_user_roles()` allowlist on save, and due to the `give_core_settings_import_callback()` AJAX handler writing imported JSON directly into the `give_settings` option via `update_option()` without invoking the sanitize filter at all. This makes it possible for authenticated attackers with the GiveWP Manager role (holding the `manage_give_settings` capability) and above to configure donor registration to assign privileged WordPress roles — up to and including Administrator via the import path — to every new donor account created through the platform. Via the settings save path, the Administrator role is blocked but any other elevated role (Editor, Author, etc.) is accepted; via the Tools › Import JSON path, the sanitize filter is bypassed entirely, allowing the Administrator role itself to be stored and subsequently applied to all newly registered donor accounts.\n\n## Affected\n\n- `givewp_donation_plugin_and_fundraising_platform <= 4.19.1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":48.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}