CVE-2025-23949

8.1 HIGH

📋 TL;DR

This vulnerability allows attackers to include local files on the server through improper filename control in PHP include/require statements. It affects WordPress sites using the Improved Sale Badges – Free Version plugin. Attackers can potentially read sensitive files or execute code depending on server configuration.

💻 Affected Systems

Products:
  • Improved Sale Badges – Free Version WordPress Plugin
Versions: All versions up to and including 1.0.1
Operating Systems: Any OS running PHP and WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with vulnerable plugin activated. PHP configuration (allow_url_include) 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

Remote code execution leading to complete server compromise, data theft, and website defacement.

🟠

Likely Case

Local file inclusion allowing reading of sensitive files like configuration files, potentially exposing database credentials.

🟢

If Mitigated

Limited file reading if proper file permissions and security controls restrict access to sensitive directories.

🌐 Internet-Facing: HIGH - WordPress plugins are typically internet-facing and accessible to unauthenticated users.
🏢 Internal Only: MEDIUM - Internal systems using vulnerable plugin could be exploited by authenticated users or through other attack vectors.

🎯 Exploit Status

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

Exploitation requires understanding of PHP file inclusion vulnerabilities and WordPress plugin structure. No public exploit code identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.0.1 (check plugin repository for latest)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/improved-sale-badges-free-version/vulnerability/wordpress-improved-sale-badges-free-version-plugin-1-0-1-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 'Improved Sale Badges – Free Version'. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin immediately.

🔧 Temporary Workarounds

Disable vulnerable plugin

WordPress

Deactivate the plugin to remove attack surface while awaiting patch

wp plugin deactivate improved-sale-badges-free-version

🧯 If You Can't Patch

  • Remove plugin completely from WordPress installation
  • Implement web application firewall rules to block file inclusion patterns

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Improved Sale Badges – Free Version → Version number. If version is 1.0.1 or earlier, you are vulnerable.

Check Version:

wp plugin get improved-sale-badges-free-version --field=version

Verify Fix Applied:

After update, verify plugin version is higher than 1.0.1. Test by attempting to access known vulnerable endpoints (if known).

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in PHP error logs
  • Requests to plugin files with suspicious parameters
  • Multiple failed include/require attempts

Network Indicators:

  • HTTP requests containing file paths in parameters
  • Requests to plugin-specific endpoints with traversal sequences

SIEM Query:

web.url:*improved-sale-badges* AND (web.param:*../* OR web.param:*php://* OR web.param:*file=*)

🔗 References

📤 Share & Export