CVE-2024-3714

6.4 MEDIUM

📋 TL;DR

This vulnerability allows authenticated WordPress users with contributor-level access or higher to inject malicious scripts into pages using the GiveWP plugin's 'give_form' shortcode. The scripts execute when other users view the compromised pages, enabling stored cross-site scripting attacks. All WordPress sites using GiveWP versions up to 3.10.0 are affected.

💻 Affected Systems

Products:
  • GiveWP - Donation Plugin and Fundraising Platform for WordPress
Versions: All versions up to and including 3.10.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires legacy form usage with the 'give_form' shortcode. Contributor-level or higher WordPress user access needed for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, perform session hijacking, deface websites, redirect users to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Malicious actors with contributor access inject scripts to steal user session cookies, display fraudulent content, or redirect users to phishing pages.

🟢

If Mitigated

With proper user access controls and content security policies, impact is limited to potential defacement of specific pages without credential theft.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is technically simple once an attacker has contributor privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.11.0

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3083390/give/tags/3.11.0/includes/class-give-donate-form.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find GiveWP and click 'Update Now'. 4. Verify version shows 3.11.0 or higher.

🔧 Temporary Workarounds

Remove Contributor Access

all

Temporarily restrict contributor-level user creation and review existing contributor accounts.

Disable Legacy Forms

all

Switch all donation forms to modern versions instead of legacy forms.

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to prevent script execution
  • Review and audit all contributor-level user accounts and their content

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins → GiveWP version. If version is 3.10.0 or lower, you are vulnerable.

Check Version:

wp plugin list --name=give --field=version

Verify Fix Applied:

After updating, confirm GiveWP version shows 3.11.0 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual shortcode modifications in post/page content
  • Multiple page edits by contributor users in short timeframe

Network Indicators:

  • External script loads from unexpected domains in donation form pages

SIEM Query:

source="wordpress" (event="post_modified" OR event="page_updated") user_role="contributor" content="*give_form*"

🔗 References

📤 Share & Export