CVE-2020-36840

7.3 HIGH

📋 TL;DR

The Timetable and Event Schedule WordPress plugin has an authorization bypass vulnerability that allows unauthenticated attackers to execute AJAX functions normally restricted to administrators. This affects all WordPress sites using plugin versions 2.3.8 and earlier. Attackers can inject malicious scripts, include arbitrary templates, and perform other unauthorized actions.

💻 Affected Systems

Products:
  • Timetable and Event Schedule by MotoPress WordPress plugin
Versions: Up to and including 2.3.8
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with vulnerable plugin versions enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site compromise through remote code execution, data theft, defacement, or malware injection leading to credential harvesting and lateral movement.

🟠

Likely Case

Website defacement, SEO spam injection, malicious redirects, or backdoor installation for persistent access.

🟢

If Mitigated

Limited impact if web application firewall blocks malicious requests or if plugin is disabled.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Simple HTTP POST request to wp-admin/admin-ajax.php with specific parameters can trigger the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.3.9

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=2288592%40mp-timetable&new=2288592%40mp-timetable&sfp_email=&sfph_mail=

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Timetable and Event Schedule by MotoPress'. 4. Click 'Update Now' if available, or download version 2.3.9+ from WordPress repository. 5. Activate updated plugin.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the plugin until patched

wp plugin deactivate mp-timetable

Web Application Firewall rule

linux

Block requests to vulnerable AJAX endpoint

# Example ModSecurity rule: SecRule REQUEST_URI "@contains admin-ajax.php" "id:1001,phase:2,deny,msg:'Blocking MP Timetable exploit'"

🧯 If You Can't Patch

  • Disable the Timetable and Event Schedule plugin immediately
  • Implement strict WAF rules blocking all requests to /wp-admin/admin-ajax.php with 'action' parameter containing 'route_url'

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Timetable and Event Schedule version. If version ≤2.3.8, you are vulnerable.

Check Version:

wp plugin get mp-timetable --field=version

Verify Fix Applied:

Confirm plugin version is 2.3.9 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with 'action=route_url' parameter
  • Unusual file modifications in wp-content/plugins/mp-timetable/

Network Indicators:

  • HTTP POST to admin-ajax.php with 'action=route_url' from unauthenticated sources

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND method="POST" AND params.action="route_url" AND user="-"

🔗 References

📤 Share & Export