CVE-2026-26717

4.8 MEDIUM

📋 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

Products:
  • OpenFUN Richie LMS
Versions: Versions before commit a1b5bbda3403d7debb466c303a32852925fcba5f
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the sync_course_run_from_request function in src/richie/apps/courses/api.py

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

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

all

Implement rate limiting on the sync_course_run_from_request endpoint to make timing attacks more difficult

WAF Configuration

all

Configure 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

🔗 References

📤 Share & Export