CVE-2025-39592

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to include arbitrary local files on the server through PHP's include/require statements in the Subscribe to Unlock Lite WordPress plugin. Attackers can potentially read sensitive files or execute code by including malicious files. WordPress sites running vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Subscribe to Unlock Lite WordPress Plugin
Versions: n/a through 1.3.0
Operating Systems: Any OS running PHP and WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin activated. PHP configuration (allow_url_include, open_basedir) may affect exploitability.

⚠️ 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

Full server compromise through remote code execution by including malicious PHP files, leading to data theft, site defacement, or malware installation.

🟠

Likely Case

Sensitive file disclosure (configuration files, database credentials, user data) and limited code execution within the web server context.

🟢

If Mitigated

Limited impact if file permissions are restrictive and PHP open_basedir restrictions are in place, potentially only allowing file reads within web directory.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Simple HTTP requests with crafted parameters can trigger the vulnerability. Public exploit details are available in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/subscribe-to-unlock-lite/vulnerability/wordpress-subscribe-to-unlock-lite-1-3-0-local-file-inclusion-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Subscribe to Unlock Lite' and check if update is available. 4. Click 'Update Now' or manually update to version 1.3.1+. 5. Verify plugin is active and functioning.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the Subscribe to Unlock Lite plugin until patched

wp plugin deactivate subscribe-to-unlock-lite

PHP configuration hardening

linux

Set PHP open_basedir restriction to limit file inclusion scope

open_basedir = /var/www/html:/tmp

🧯 If You Can't Patch

  • Remove or disable the Subscribe to Unlock Lite plugin completely
  • Implement web application firewall (WAF) rules to block requests with suspicious file inclusion parameters

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Subscribe to Unlock Lite' version. If version is 1.3.0 or earlier, you are vulnerable.

Check Version:

wp plugin get subscribe-to-unlock-lite --field=version

Verify Fix Applied:

Verify plugin version is 1.3.1 or later in WordPress admin panel. Test functionality remains working.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests with file path parameters to plugin endpoints
  • Multiple failed attempts to access sensitive files (wp-config.php, /etc/passwd)

Network Indicators:

  • HTTP requests containing '../' sequences or absolute file paths in parameters
  • Requests to plugin-specific endpoints with unusual file extensions

SIEM Query:

source="web_logs" AND (uri="*subscribe-to-unlock*" AND (param="*../*" OR param="*/etc/*" OR param="*wp-config*"))

🔗 References

📤 Share & Export