CVE-2025-31387

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to include local files on the server through improper filename control in PHP's include/require statements. It affects WordPress sites running the InstaWP Connect plugin versions up to 0.1.0.82, potentially leading to sensitive information disclosure or code execution.

💻 Affected Systems

Products:
  • InstaWP Connect WordPress Plugin
Versions: n/a through 0.1.0.82
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with vulnerable plugin version. PHP configuration with allow_url_include disabled does not prevent local file inclusion.

⚠️ 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 local file inclusion leading to remote code execution, sensitive file disclosure (including configuration files with credentials), and complete site takeover.

🟠

Likely Case

Information disclosure of sensitive files like wp-config.php containing database credentials, potentially leading to database compromise and site defacement.

🟢

If Mitigated

Limited impact with proper file permissions and web server restrictions, potentially only allowing read access to non-sensitive files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires understanding of PHP file inclusion vulnerabilities and knowledge of target file paths. No public exploit code available at this time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 0.1.0.82

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/instawp-connect/vulnerability/wordpress-instawp-connect-plugin-0-1-0-82-local-file-inclusion-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Check if InstaWP Connect has an update available. 4. Click 'Update Now' to install the latest version. 5. Verify the plugin version is above 0.1.0.82.

🔧 Temporary Workarounds

Disable vulnerable plugin

WordPress

Temporarily disable the InstaWP Connect plugin until patched

wp plugin deactivate instawp-connect

Restrict file access via .htaccess

Apache

Add restrictions to prevent file inclusion attacks

# Add to .htaccess in WordPress root:
<FilesMatch "\.(php|inc|phtml)$">
  Order Deny,Allow
  Deny from all
</FilesMatch>

🧯 If You Can't Patch

  • Remove the InstaWP Connect plugin completely from the WordPress installation
  • Implement web application firewall (WAF) rules to block file inclusion patterns

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → InstaWP Connect version. If version is 0.1.0.82 or lower, the site is vulnerable.

Check Version:

wp plugin get instawp-connect --field=version

Verify Fix Applied:

Verify the plugin version is above 0.1.0.82 in WordPress admin panel. Test file inclusion attempts should no longer work.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file path requests in access logs (e.g., requests containing '../', 'wp-config.php', or other sensitive files)
  • Multiple failed include/require attempts in PHP error logs

Network Indicators:

  • HTTP requests with unusual parameters containing file paths or directory traversal sequences
  • Requests to plugin-specific endpoints with file inclusion patterns

SIEM Query:

source="web_access_logs" AND (uri="*../*" OR uri="*wp-config.php*" OR uri="*instawp-connect*" AND (param="*file=*" OR param="*include=*"))

🔗 References

📤 Share & Export