CVE-2025-30973

9.8 CRITICAL

📋 TL;DR

CVE-2025-30973 is a PHP object injection vulnerability in Codexpert, Inc's CoSchool LMS WordPress plugin that allows attackers to execute arbitrary code through deserialization of untrusted data. This affects all CoSchool LMS installations running versions up to 1.4.3. Attackers can exploit this to gain unauthorized access and control over affected WordPress sites.

💻 Affected Systems

Products:
  • Codexpert, Inc CoSchool LMS WordPress Plugin
Versions: All versions up to and including 1.4.3
Operating Systems: Any OS running WordPress with PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with CoSchool LMS plugin enabled. No special configuration needed for exploitation.

⚠️ 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 system compromise, data theft, website defacement, and installation of backdoors or malware.

🟠

Likely Case

Unauthorized administrative access to WordPress, data manipulation, and potential lateral movement within the hosting environment.

🟢

If Mitigated

Limited impact with proper network segmentation, web application firewalls, and restricted file permissions preventing code execution.

🌐 Internet-Facing: HIGH - WordPress plugins are typically exposed to the internet, making them directly accessible to attackers.
🏢 Internal Only: MEDIUM - Internal systems could still be vulnerable if accessed by compromised internal accounts or through phishing attacks.

🎯 Exploit Status

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

Patchstack database shows technical details and proof-of-concept. PHP object injection vulnerabilities are commonly weaponized due to their reliability and impact.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.4 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/coschool/vulnerability/wordpress-coschool-lms-1-4-3-php-object-injection-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find CoSchool LMS plugin. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin, then install fresh version from WordPress repository.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable CoSchool LMS plugin to prevent exploitation

wp plugin deactivate coschool

Web Application Firewall Rule

all

Block requests containing serialized PHP objects to CoSchool LMS endpoints

ModSecurity rule: SecRule REQUEST_BODY "@rx (O:\d+:\"[^"]+\":\d+:{.*})" "id:1001,phase:2,deny,status:403,msg:'PHP Object Injection Attempt'"
Cloudflare WAF rule: Block requests with patterns matching PHP serialization

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate WordPress installation from critical systems
  • Deploy web application firewall with rules specifically blocking PHP object injection patterns

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for CoSchool LMS version. If version is 1.4.3 or lower, system is vulnerable.

Check Version:

wp plugin get coschool --field=version

Verify Fix Applied:

Verify CoSchool LMS plugin version is 1.4.4 or higher in WordPress admin panel. Test functionality remains working after update.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to CoSchool LMS endpoints
  • PHP errors related to unserialize() function
  • Unexpected file creation in WordPress uploads or plugins directories

Network Indicators:

  • HTTP requests containing serialized PHP object patterns (O: followed by numbers and quotes)
  • Traffic to CoSchool LMS endpoints from unexpected sources

SIEM Query:

source="web_logs" AND (uri="*coschool*" OR uri="*wp-content/plugins/coschool*") AND (request_body="*O:[0-9]+:*" OR status=500)

🔗 References

📤 Share & Export