CVE-2025-46465

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the Print Science Designer WordPress plugin allows attackers to inject malicious scripts that become stored XSS. When exploited, this lets attackers execute arbitrary JavaScript in victims' browsers. This affects all WordPress sites using Print Science Designer version 1.3.155 or earlier.

💻 Affected Systems

Products:
  • Print Science Designer WordPress Plugin
Versions: n/a through 1.3.155
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and active on a WordPress site. The vulnerability is present in default configurations.

⚠️ 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 admin credentials, deface websites, redirect users to malicious sites, or install backdoors when administrators view compromised pages.

🟠

Likely Case

Attackers trick authenticated administrators into clicking malicious links, resulting in stored XSS payloads that affect all users viewing the compromised pages, potentially leading to session hijacking or credential theft.

🟢

If Mitigated

With proper CSRF tokens and input validation, the attack would fail at the initial CSRF stage, preventing XSS injection entirely.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires tricking an authenticated user (typically an administrator) into clicking a malicious link or visiting a compromised page. The CSRF leads to stored XSS, making the attack persistent.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3.156 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/print-science-designer/vulnerability/wordpress-print-science-designer-plugin-1-3-155-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Print Science Designer' and check for updates. 4. If update is available, click 'Update Now'. 5. Alternatively, download version 1.3.156+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched to prevent exploitation.

wp plugin deactivate print-science-designer

CSRF Protection via .htaccess

linux

Add CSRF protection headers at web server level (may break functionality).

Header set X-Frame-Options "DENY"
Header set Content-Security-Policy "frame-ancestors 'none'"

🧯 If You Can't Patch

  • Disable or uninstall the Print Science Designer plugin immediately.
  • Implement strict Content Security Policy (CSP) headers to mitigate XSS impact.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin > Plugins > Print Science Designer. If version is 1.3.155 or lower, you are vulnerable.

Check Version:

wp plugin get print-science-designer --field=version

Verify Fix Applied:

After updating, verify plugin version shows 1.3.156 or higher in WordPress admin.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php or plugin-specific endpoints from unexpected referrers
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • Unexpected JavaScript payloads in HTTP POST parameters to plugin endpoints
  • Requests with missing or invalid nonce parameters

SIEM Query:

source="wordpress.log" AND ("admin-ajax.php" OR "print-science") AND (POST AND NOT "_wpnonce=")

🔗 References

📤 Share & Export