CVE-2017-12635
Devido a diferenças entre o parser JSON baseado em Erlang e o parser JSON baseado em JavaScript, é possível no Apache CouchDB anterior à versão 1.7.0 e 2.x...
- Publicado
- 14 de nov. de 2017
- Atualizado
- 17 de set. de 2024
- Atribuindo CNA
- apache
- Evidência observada
- 23 de abr. de 2018
CVSS primário
nvd · CVSS 2.0
AV:N/AC:L/Au:N/C:C/I:C/A:CAlto · próximos 30 dias
- Percentil
- 100,0%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
Devido a diferenças entre o parser JSON baseado em Erlang e o parser JSON baseado em JavaScript, é possível no Apache CouchDB anterior à versão 1.7.0 e 2.x anterior à 2.1.1 enviar documentos _users com chaves duplicadas para 'roles', usadas para controle de acesso dentro do banco de dados, incluindo o caso especial da role '_admin', que denota usuários administrativos. Em combinação com CVE-2017-12636 (Execução Remota de Código), isso pode ser usado para dar a usuários não administradores acesso a comandos shell arbitrários no servidor como o usuário do sistema do banco de dados. As diferenças do parser JSON resultam em um comportamento no qual, se duas chaves 'roles' estiverem disponíveis no JSON, a segunda será usada para autorizar a gravação do documento, mas a primeira chave 'roles' é usada para a autorização subsequente do usuário recém-criado. Por design, usuários não podem atribuir roles a si mesmos. A vulnerabilidade permite que usuários não administradores concedam a si mesmos privilégios de administrador.
Fontes
6Ambiente de reprodução baseado em Docker para escalada vertical de privilégios CVE-2017-12635 do Apache CouchDB via inconsistência do analisador JSON, permitindo criação de admin não autenticado.
Laboratório passo a passo demonstrando exploração de CVE-2017-12635 (escalonamento de privilégios) e CVE-2017-12636 (execução remota de código) contra Apache CouchDB 1.6.0, com avaliação de risco e diretrizes de remediação.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.