CVE-2026-26717
📋 TL;DR
This vulnerability allows remote attackers to bypass authentication in OpenFUN Richie LMS by exploiting timing differences in HMAC signature verification. Attackers can forge valid signatures to sync course runs without proper authorization. All deployments using vulnerable versions are affected.
💻 Affected Systems
- OpenFUN Richie LMS
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could manipulate course data, create unauthorized course runs, or compromise the integrity of the learning management system.
Likely Case
Unauthorized course synchronization leading to data manipulation or unauthorized access to course management functions.
If Mitigated
Limited impact with proper network controls and monitoring, but authentication bypass remains possible.
🎯 Exploit Status
Requires precise timing measurements but tools exist to automate timing attacks
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Commit a1b5bbda3403d7debb466c303a32852925fcba5f
Vendor Advisory: https://github.com/openfun/richie/commit/a1b5bbda3403d7debb466c303a32852925fcba5f
Restart Required: Yes
Instructions:
1. Update to the latest OpenFUN Richie version
2. Apply commit a1b5bbda3403d7debb466c303a32852925fcba5f
3. Restart the application service
🔧 Temporary Workarounds
Network Rate Limiting
allImplement rate limiting on the sync_course_run_from_request endpoint to make timing attacks more difficult
WAF Configuration
allConfigure Web Application Firewall to detect and block suspicious timing patterns
🧯 If You Can't Patch
- Disable the sync_course_run_from_request endpoint if not required
- Implement additional authentication layers before the vulnerable function
🔍 How to Verify
Check if Vulnerable:
Check if your version includes the vulnerable code in src/richie/apps/courses/api.py using non-constant time comparison (== operator) for HMAC verification
Check Version:
git log --oneline -1
Verify Fix Applied:
Verify the code uses constant-time comparison functions (like hmac.compare_digest in Python) instead of == operator
📡 Detection & Monitoring
Log Indicators:
- Multiple failed HMAC verification attempts with varying response times
- Unusual sync_course_run requests
Network Indicators:
- Repeated requests to sync endpoint with incremental signature changes
- Abnormal timing patterns in request-response cycles
SIEM Query:
source="application.log" AND "sync_course_run" AND ("HMAC" OR "signature") AND status=200 | stats count by src_ip