Plataforma
php
Componente
chamilo-lms
Corrigido em
1.11.39
2.0.1
O Chamilo LMS apresenta uma vulnerabilidade na geração de chaves de API. Antes das versões 1.11.38 e 2.0.0-RC.3, as chaves de API são geradas usando a fórmula md5(time() + (user_id * 5) - rand(10000, 10000)). A função rand(10000, 10000) sempre retorna o valor 10000, tornando a fórmula efetivamente md5(timestamp + user_id*5 - 10000). Um atacante que conhece um nome de usuário e o tempo aproximado de criação da chave pode forçar a descoberta da chave de API. Essa vulnerabilidade foi corrigida nas versões 1.11.38 e 2.0.0-RC.3.
A vulnerabilidade CVE-2026-33710 no Chamilo LMS afeta versões anteriores a 1.11.38 e 2.0.0-RC.3. O sistema gera chaves de API REST utilizando uma fórmula previsível: md5(tempo() + (id_usuario * 5) - rand(10000, 10000)). O problema reside no fato de que a função rand(10000, 10000) sempre retorna o valor 10000, simplificando a fórmula para md5(timestamp + user_id*5 - 10000). Isso permite que um atacante, conhecendo um nome de usuário e uma estimativa do tempo de criação da chave, realize um ataque de força bruta para obter a chave de API. O acesso não autorizado através da API poderia permitir a manipulação de dados, a criação de usuários ou a execução de ações não autorizadas dentro do LMS.
Um atacante poderia explorar esta vulnerabilidade se tiver acesso a informações sobre um usuário específico no sistema Chamilo LMS. Conhecendo o nome de usuário e uma aproximação do momento em que a chave de API foi gerada, o atacante pode usar ferramentas de força bruta para adivinhar a chave. A simplicidade da fórmula de geração de chaves torna este ataque relativamente fácil de executar. A exploração bem-sucedida permitiria ao atacante acessar a API e realizar ações em nome do usuário comprometido, potencialmente comprometendo a integridade e a confidencialidade dos dados do LMS.
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
Status do Exploit
EPSS
0.04% (percentil 12%)
CISA SSVC
Vetor CVSS
A solução para esta vulnerabilidade é atualizar o Chamilo LMS para a versão 1.11.38 ou 2.0.0-RC.3 ou superior. Essas versões implementam um método de geração de chaves de API mais seguro, eliminando a previsibilidade inerente à fórmula anterior. Recomenda-se aplicar esta atualização o mais rápido possível para mitigar o risco de exploração. Além disso, revise as políticas de segurança da API, incluindo a rotação regular de chaves e a implementação de mecanismos de autenticação robustos, como a autenticação de dois fatores, para reforçar a segurança do sistema.
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.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
Versões anteriores a 1.11.38 e 2.0.0-RC.3 são vulneráveis a esta vulnerabilidade.
Verifique a versão do seu Chamilo LMS. Se for anterior a 1.11.38 ou 2.0.0-RC.3, é vulnerável.
Se não puder atualizar imediatamente, considere implementar medidas de segurança adicionais, como o monitoramento da API e a restrição de acesso a ela.
Não existem ferramentas específicas conhecidas para testar esta vulnerabilidade, mas ferramentas genéricas de força bruta podem ser usadas.
Os dados comprometidos podem incluir informações do usuário, conteúdo do curso e qualquer outra informação armazenada no LMS que seja acessível através da API.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.