Esta falha residia no container virtual da REST API, e permitia que qualquer atacante remoto ultrapassasse a necessidade de autenticação em dispositivos da Cisco.
A razão por trás desta falha estava presente na falta de verificação do código que gere o serviço de autenticação na REST API. A REST API é uma aplicação a correr no container de serviço virtual, um ambiente virtualizado.
Como a falha podia ser explorada?
O atacante podia enviar uma série de pedidos HTTP maliciosos ao dispositivo afetado. Assim que o sistema fosse explorado com sucesso, o atacante podia obter o token-id do utilizador autenticado; desta forma, conseguia ultrapassar a autenticação no dispositivo e executar comandos com privilégios de sistema através da interface da REST API.
Dispositivos afetados:
- Cisco 4000 Series Integrated Services Routers - Cisco ASR 1000 Series Aggregation Services Routers - Cisco Cloud Services Router 1000V Series - Cisco Integrated Services Virtual Router
Os dispositivos precisavam de ter instalada e ativada a versão da REST API afetado e um utilizador com privilégios de administração tinha de estar autenticado na interface.
Como verificar a falha?
Comando:
router#show virtual-service detail | include Restful Restful API Enabled, UP port: 55443
O serviço tem estar ativo, ou com a string enabled. Caso o utilizador não a encontre, o dispositivo não estaria vulnerável.
Existe também um comando de elevação de privlégios que os utilizadores podiam usar:
router#show virtual-service version installed Virtual service csr_mgmt installed version: Name: csr_mgmt Version: 16.09.03
Mais informações: https://www.tenable.com/blog/cve-2019-12643-critical-authentication-bypass-vulnerability-in-rest-api-container-for-cisco-ios