CVE-2025-66581

6.5 MEDIUM

📋 TL;DR

Frappe LMS versions before 2.41.0 have an authorization bypass vulnerability where authenticated users can perform actions beyond their assigned roles. The flaw occurs because server-side endpoints rely on client-side checks instead of enforcing proper permissions. This affects all users of vulnerable Frappe LMS instances, particularly allowing students to perform instructor/admin actions.

💻 Affected Systems

Products:
  • Frappe Learning Management System
Versions: All versions prior to 2.41.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with authenticated users are vulnerable. The vulnerability exists in the core authorization logic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

A student could gain administrative privileges, modify course content, access sensitive user data, or disrupt the entire learning platform.

🟠

Likely Case

Students could modify their own grades, access other students' submissions, or perform unauthorized course modifications.

🟢

If Mitigated

With proper network segmentation and monitoring, impact would be limited to unauthorized actions within the user's current course context.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward via API manipulation. No public exploit code is known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.41.0

Vendor Advisory: https://github.com/frappe/lms/security/advisories/GHSA-2ch7-c74m-432m

Restart Required: Yes

Instructions:

1. Backup your Frappe LMS instance. 2. Update to version 2.41.0 using the Frappe update mechanism. 3. Restart the application server. 4. Verify the update was successful.

🔧 Temporary Workarounds

API Rate Limiting and Monitoring

all

Implement rate limiting and enhanced logging on API endpoints to detect suspicious activity

Network Segmentation

all

Restrict API access to trusted networks only

🧯 If You Can't Patch

  • Implement strict network access controls to limit API access to trusted IPs only
  • Enable detailed audit logging for all API calls and monitor for unauthorized role-based actions

🔍 How to Verify

Check if Vulnerable:

Check if Frappe LMS version is below 2.41.0 in the system settings or via the admin interface

Check Version:

Check the Frappe LMS admin dashboard or run bench version if using Frappe Bench

Verify Fix Applied:

Confirm version is 2.41.0 or higher and test that low-privilege users cannot perform admin/instructor actions via API

📡 Detection & Monitoring

Log Indicators:

  • API calls from low-privilege users performing admin/instructor actions
  • Unusual pattern of role-based API access

Network Indicators:

  • Unusual API request patterns from student accounts
  • POST/PUT requests to privileged endpoints from non-privileged users

SIEM Query:

source="frappe_lms" AND (user_role="Student" AND action IN ("create_course", "modify_grade", "delete_content"))

🔗 References

📤 Share & Export