CVE-2023-36515

7.3 HIGH

📋 TL;DR

CVE-2023-36515 is a missing authorization vulnerability in the LearnPress WordPress plugin that allows unauthenticated attackers to perform actions that should require authentication. This affects all LearnPress installations from unknown versions through 4.2.3. Attackers can exploit this to modify course content, user data, or other administrative functions without proper credentials.

💻 Affected Systems

Products:
  • WordPress LearnPress Plugin
Versions: n/a through 4.2.3
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All LearnPress installations within the affected version range are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Unauthenticated attackers could modify or delete all course content, user data, and potentially gain administrative access to the WordPress site.

🟠

Likely Case

Attackers modify course content, enroll unauthorized users, or manipulate user progress data without detection.

🟢

If Mitigated

With proper network segmentation and web application firewalls, impact is limited to the LearnPress application only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public exploit details are available through Patchstack and other security databases. The vulnerability requires no authentication and minimal technical skill to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.2.3.1 or later

Vendor Advisory: https://patchstack.com/database/vulnerability/learnpress/wordpress-learnpress-plugin-4-2-3-unauthenticated-broken-access-control-vulnerability

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find LearnPress and click 'Update Now'. 4. Verify update to version 4.2.3.1 or higher.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

all

Disable the LearnPress plugin until patching is possible

wp plugin deactivate learnpress

Web Application Firewall Rule

linux

Block suspicious LearnPress API requests

ModSecurity rule: SecRule REQUEST_URI "@contains /wp-json/learnpress/" "id:1001,phase:2,deny,status:403"

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the WordPress instance
  • Deploy a web application firewall with rules blocking LearnPress-specific API endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > LearnPress version. If version is 4.2.3 or lower, system is vulnerable.

Check Version:

wp plugin get learnpress --field=version

Verify Fix Applied:

Verify LearnPress version is 4.2.3.1 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unauthenticated POST requests to /wp-json/learnpress/* endpoints
  • Multiple failed authentication attempts followed by successful LearnPress API calls

Network Indicators:

  • Unusual traffic patterns to LearnPress REST API endpoints from unauthenticated sources

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-json/learnpress/*" AND http_method="POST" AND user="-")

🔗 References

📤 Share & Export