CVE-2025-23537

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the WordPress 'Add Custom Google Tag Manager' plugin allows attackers to trick authenticated administrators into executing malicious actions without their consent, leading to stored cross-site scripting (XSS). Attackers can inject malicious scripts that execute in users' browsers when they visit affected pages. This affects all WordPress sites using the plugin version 1.0.3 or earlier.

💻 Affected Systems

Products:
  • WordPress Add Custom Google Tag Manager Plugin
Versions: n/a through 1.0.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled and an authenticated administrator to trigger the CSRF.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject persistent malicious scripts that steal session cookies, redirect users to phishing sites, or perform actions as authenticated users, potentially compromising the entire WordPress site.

🟠

Likely Case

Attackers inject malicious JavaScript that steals administrator session cookies or redirects users to malicious sites, leading to account compromise or site defacement.

🟢

If Mitigated

With proper CSRF protections and input validation, the attack would fail, preventing script injection and maintaining site integrity.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires tricking an authenticated administrator into clicking a malicious link or visiting a compromised page.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.0.3

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/add-custom-google-tag-manager/vulnerability/wordpress-add-custom-google-tag-manager-plugin-1-0-3-csrf-to-stored-cross-site-scripting-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Add Custom Google Tag Manager'. 4. Click 'Update Now' if available, or manually update to latest version. 5. Verify plugin is updated to version above 1.0.3.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched.

wp plugin deactivate add-custom-google-tag-manager

Implement CSRF Tokens

all

Add CSRF protection to plugin forms if custom modifications are possible.

🧯 If You Can't Patch

  • Remove the plugin entirely if patching is not possible.
  • Restrict administrator access to trusted networks only.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'Add Custom Google Tag Manager' version 1.0.3 or lower.

Check Version:

wp plugin get add-custom-google-tag-manager --field=version

Verify Fix Applied:

Verify plugin version is above 1.0.3 in WordPress admin panel or via wp-cli: wp plugin get add-custom-google-tag-manager --field=version.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to plugin admin endpoints without referrer headers
  • Administrator actions from unexpected IP addresses or user-agents

Network Indicators:

  • HTTP requests containing malicious script tags or JavaScript payloads to plugin endpoints

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-admin/admin-post.php" OR uri_path CONTAINS "add-custom-google-tag-manager") AND (http_method="POST" AND referrer IS NULL)

🔗 References

📤 Share & Export