
Exploit para vulnerabilidade de problema criptográfico no IBERMATICA RPS [CVE-2023-3350]
Pesquisa de segurança documentando uma exposição não autenticada de informações e uma falha de design criptográfico no IBERMATICA RPS 2019.
As vulnerabilidades podem ser encadeadas para expor logs de aplicação contendo consultas SQL relacionadas à autenticação e recuperar senhas de usuários a partir de texto cifrado AES-CBC reversível.
[AVISO] Este repositório é fornecido apenas para fins de pesquisa de segurança, validação defensiva e educacionais. Teste exclusivamente em sistemas que você possua ou que esteja explicitamente autorizado a avaliar.
Um usuário não autenticado pode acessar a página de status do serviço RPS em:
/RPS2019Service/status.html
A página expõe controles operacionais de log e permite que os logs gerados sejam baixados. Esses logs podem conter dados sensíveis da aplicação, incluindo nomes de usuário, endereços IP, consultas SQL e valores relacionados a senhas.
As senhas não são protegidas por uma função de hash de senha de mão única. Em vez disso, o RPS 2019 usa AES-128-CBC com material de chave derivado de forma previsível do nome de usuário. Uma vez obtidos um nome de usuário e seu valor de senha criptografada a partir dos logs, a senha pode ser recuperada em texto puro.
| CVE | Descrição | CWE | CVSS 3.1 (CNA) |
|---|
| CVE-2023-3349 | Exposição não autenticada de informações sensíveis por meio de logs de aplicação baixáveis | CWE-200 | 8.2 Alta |
| CVE-2023-3350 | Proteção reversível de senhas baseada em AES-128-CBC e material de chave previsível derivado do nome de usuário | CWE-327 | 8.2 Alta |
Nenhuma injeção de SQL, força bruta de senha ou conta prévia na aplicação é necessária para esta cadeia.
A investigação identificou as seguintes condições:
O AES não é, por si só, o problema subjacente. A vulnerabilidade resulta do uso de criptografia reversível para senhas, de material de chave previsível e de um IV que não é nem aleatório nem independente.
A exploração bem-sucedida pode permitir que um atacante remoto e não autenticado:
/RPS2019Service/status.html.Os defensores devem investigar:
/RPS2019Service/status.html;Os problemas foram descobertos por LABS @ ITRES durante um engajamento autorizado de segurança ofensiva e receberam identificadores CVE por meio do INCIBE-CERT.
Um relatório técnico detalhado está disponível na primeira entrada da série Old Dives:
As informações neste repositório destinam-se a ajudar organizações a identificar, validar e corrigir as vulnerabilidades documentadas. Os autores e colaboradores não são responsáveis pelo uso indevido ou por danos resultantes do uso deste material.