Platform
php
Component
chamilo-lms
Opgelost in
1.11.39
2.0.1
Chamilo LMS is een learning management systeem. Een kwetsbaarheid is ontdekt in de manier waarop REST API keys worden gegenereerd. De keys worden gegenereerd met md5(time() + (user_id * 5) - rand(10000, 10000)). Omdat rand(10000, 10000) altijd 10000 retourneert, is de formule effectief md5(timestamp + user_id*5 - 10000). Een aanvaller die de gebruikersnaam en de geschatte sleutelcreatietijd kent, kan de API key brute-force aanvallen. Deze kwetsbaarheid treft versies 1.11.0 tot en met 2.0.0-RC.2 en is verholpen in versie 1.11.38 en 2.0.0-RC.3.
CVE-2026-33710 in Chamilo LMS treft versies ouder dan 1.11.38 en 2.0.0-RC.3. Het systeem genereert REST API-sleutels met behulp van een voorspelbare formule: md5(time() + (user_id * 5) - rand(10000, 10000)). Het probleem is dat de functie rand(10000, 10000) altijd de waarde 10000 retourneert, waardoor de formule vereenvoudigt tot md5(timestamp + user_id*5 - 10000). Dit stelt een aanvaller, die een gebruikersnaam en een geschatte sleutelgeneratietijd kent, in staat om een brute-force aanval uit te voeren om de API-sleutel te verkrijgen. Ongeautoriseerde toegang via de API kan leiden tot manipulatie van gegevens, het maken van gebruikers of ongeautoriseerde acties binnen het LMS.
Een aanvaller kan deze kwetsbaarheid uitbuiten als hij toegang heeft tot informatie over een specifieke gebruiker in het Chamilo LMS-systeem. Met kennis van de gebruikersnaam en een schatting van wanneer de API-sleutel is gegenereerd, kan de aanvaller brute-force tools gebruiken om de sleutel te raden. De eenvoud van de sleutelgenereringsformule maakt deze aanval relatief gemakkelijk uit te voeren. Een succesvolle uitbuiting zou de aanvaller in staat stellen toegang te krijgen tot de API en acties uit te voeren namens de gecompromitteerde gebruiker, waardoor mogelijk de integriteit en vertrouwelijkheid van de LMS-gegevens in gevaar komt.
Educational institutions and organizations utilizing Chamilo LMS for online learning are at risk. Specifically, deployments with weak password policies or limited access controls are more vulnerable. Organizations using older, unpatched versions of Chamilo LMS are particularly exposed.
• php: Examine Chamilo LMS configuration files for the vulnerable API key generation code. Search for the md5(time() + (user_id * 5) - rand(10000, 10000)) pattern.
// Example: Search for the vulnerable code snippet
<?php
$api_key = md5(time() + (user_id * 5) - rand(10000, 10000));
?>• generic web: Monitor access logs for unusual API key usage patterns, particularly failed authentication attempts originating from unexpected IP addresses. • generic web: Check for unusual user activity within the LMS, such as unauthorized modifications to course content or student data.
disclosure
patch
Exploit Status
EPSS
0.04% (12% percentiel)
CISA SSVC
CVSS-vector
De oplossing voor deze kwetsbaarheid is om Chamilo LMS bij te werken naar versie 1.11.38 of 2.0.0-RC.3 of hoger. Deze versies implementeren een veiligere methode voor het genereren van API-sleutels, waardoor de inherente voorspelbaarheid van de vorige formule wordt geëlimineerd. Het wordt aanbevolen om deze update zo snel mogelijk toe te passen om het risico op uitbuiting te verminderen. Controleer bovendien de API-beveiligingsbeleid, inclusief de regelmatige rotatie van sleutels en de implementatie van robuuste authenticatiemechanismen, zoals tweefactorauthenticatie, om de systeembeveiliging te versterken.
Actualice Chamilo LMS a la versión 1.11.38 o superior, o a la versión 2.0.0-RC.3 o superior. Estas versiones implementan una generación de claves API REST más segura, mitigando el riesgo de fuerza bruta.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Versies ouder dan 1.11.38 en 2.0.0-RC.3 zijn kwetsbaar voor deze kwetsbaarheid.
Controleer de versie van uw Chamilo LMS. Als deze ouder is dan 1.11.38 of 2.0.0-RC.3, is deze kwetsbaar.
Als u niet onmiddellijk kunt updaten, overweeg dan om aanvullende beveiligingsmaatregelen te implementeren, zoals API-monitoring en toegangsbeperkingen.
Er zijn geen specifieke tools bekend om deze kwetsbaarheid te testen, maar generieke brute-force tools kunnen worden gebruikt.
Gecompromitteerde gegevens kunnen gebruikersinformatie, cursusinhoud en alle andere informatie omvatten die in het LMS is opgeslagen en toegankelijk is via de API.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.