CVE-2025-56749

9.4 CRITICAL

📋 TL;DR

This vulnerability allows attackers to forge valid JWT authentication tokens using a predictable hardcoded secret, enabling complete authentication bypass. Any Creativeitem Academy LMS installation up to version 6.14 is affected, allowing unauthorized access to any user account including administrators.

💻 Affected Systems

Products:
  • Creativeitem Academy LMS
Versions: All versions up to and including 6.14
Operating Systems: Any OS running Academy LMS
Default Config Vulnerable: ⚠️ Yes
Notes: All installations using default JWT configuration are vulnerable regardless of deployment environment.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise where attackers gain administrative access, modify course content, steal student data, and potentially pivot to other systems.

🟠

Likely Case

Attackers gain unauthorized access to user accounts, potentially accessing sensitive student information, modifying grades, or disrupting learning activities.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to the LMS system itself, though authentication bypass still enables unauthorized access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires only knowledge of the hardcoded secret and basic JWT manipulation skills.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 6.15 or later

Vendor Advisory: https://suryadina.com/academy-lms-jwt-secret-7k9m2x4p8q/

Restart Required: Yes

Instructions:

1. Backup your current installation. 2. Download and install version 6.15 or later from the official source. 3. Restart the web server. 4. Verify the JWT secret has been regenerated.

🔧 Temporary Workarounds

Manual JWT Secret Regeneration

linux

Manually generate and set a strong random JWT secret in the configuration

php artisan jwt:secret
php artisan config:clear

🧯 If You Can't Patch

  • Implement network-level controls to restrict LMS access to trusted IPs only
  • Enable detailed authentication logging and monitor for suspicious JWT token usage

🔍 How to Verify

Check if Vulnerable:

Check if JWT_SECRET in .env file matches known hardcoded default values or if version is 6.14 or earlier

Check Version:

Check composer.json or version file in installation directory

Verify Fix Applied:

Verify JWT_SECRET has been changed to a strong random value and version is 6.15+

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed login attempts followed by successful authentication with unusual patterns
  • JWT tokens with suspicious claims or timestamps

Network Indicators:

  • Unusual authentication requests from unexpected IP addresses
  • Multiple authentication attempts in short timeframes

SIEM Query:

source="academy-lms-logs" AND (event="authentication" AND result="success") | stats count by user, src_ip | where count > threshold

🔗 References

📤 Share & Export