CVE-2025-1670

6.5 MEDIUM

📋 TL;DR

This SQL injection vulnerability in the WPSchoolPress WordPress plugin allows authenticated attackers with Custom-level access or higher to execute arbitrary SQL queries. Attackers can extract sensitive information from the database, including user credentials and school management data. All WordPress sites using WPSchoolPress version 2.2.16 or earlier are affected.

💻 Affected Systems

Products:
  • WPSchoolPress WordPress Plugin
Versions: All versions up to and including 2.2.16
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user with Custom-level access or higher

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, privilege escalation, and potential site takeover

🟠

Likely Case

Extraction of sensitive student/teacher data, user credentials, and other school management information

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

SQL injection via 'cid' parameter requires authenticated access but is straightforward to exploit

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.2.17 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/wpschoolpress

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find WPSchoolPress and check for updates
4. Update to version 2.2.17 or later
5. Verify plugin functionality after update

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate wpschoolpress

Web Application Firewall Rules

all

Block SQL injection patterns targeting the 'cid' parameter

🧯 If You Can't Patch

  • Restrict plugin access to only trusted administrators
  • Implement network segmentation to isolate the WordPress instance

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → WPSchoolPress version. If version is 2.2.16 or earlier, you are vulnerable.

Check Version:

wp plugin get wpschoolpress --field=version

Verify Fix Applied:

Verify WPSchoolPress version is 2.2.17 or later in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by successful Custom-level user login
  • Unexpected database queries containing UNION SELECT or other SQL injection patterns

Network Indicators:

  • HTTP POST requests to wpsp-exams.php with unusual 'cid' parameter values
  • Abnormal database connection patterns from web server

SIEM Query:

source="web_logs" AND uri="*/wpsp-exams.php*" AND (param="cid" AND value MATCHES "[';]|UNION|SELECT|FROM|WHERE")

🔗 References

📤 Share & Export