CVE-2024-13647

4.3 MEDIUM

📋 TL;DR

This CSRF vulnerability in the SakolaWP WordPress plugin allows attackers to modify exam settings without authentication by tricking administrators into clicking malicious links. All WordPress sites using SakolaWP plugin versions 1.0.8 and earlier are affected. Attackers can alter exam configurations but cannot directly access sensitive data.

💻 Affected Systems

Products:
  • School Management System - SakolaWP WordPress Plugin
Versions: All versions up to and including 1.0.8
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with SakolaWP plugin active. Attack requires administrator to be logged in and tricked into clicking malicious link.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could disrupt academic operations by deleting or modifying critical exam settings, potentially causing scheduling conflicts or data loss affecting student records.

🟠

Likely Case

Attackers modify exam settings to create confusion or minor disruptions, requiring administrative cleanup but no permanent data loss.

🟢

If Mitigated

With proper CSRF protections and user awareness, successful exploitation becomes unlikely as administrators would need to be tricked while logged in.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

CSRF attacks are well-understood and easy to weaponize. No authentication required, but requires social engineering to trick administrators.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 1.0.9 or later

Vendor Advisory: https://wordpress.org/plugins/sakolawp-lite/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find SakolaWP plugin. 4. Click 'Update Now' if available. 5. If no update appears, manually download latest version from WordPress repository and replace plugin files.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the vulnerable plugin until patched

wp plugin deactivate sakolawp

CSRF Protection via .htaccess

linux

Add basic referrer checking for admin actions

RewriteCond %{HTTP_REFERER} !^https://yourdomain.com/ [NC]
RewriteRule ^wp-admin/.* - [F,L]

🧯 If You Can't Patch

  • Implement strict referrer policies and Content Security Policy headers
  • Educate administrators about phishing risks and require re-authentication for sensitive actions

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → SakolaWP version. If version is 1.0.8 or earlier, system is vulnerable.

Check Version:

wp plugin get sakolawp --field=version

Verify Fix Applied:

Confirm SakolaWP plugin version is 1.0.9 or later in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual exam setting modifications from unexpected IP addresses
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action parameters 'save_exam_setting' or 'delete_exam_setting' without proper referrer headers

SIEM Query:

source="wordpress.log" AND (action="save_exam_setting" OR action="delete_exam_setting") AND NOT referrer="*wp-admin*"

🔗 References

📤 Share & Export