Detalhes sobre o Vulnerabilidades em instâncias ASU (Participou do SysUpgrade) por OpenWrt. As vulnerabilidades detectadas permitir que invasores comprometam artefatos construir programas distribuídos por meio de servidores sysupgrade.openwrt.org ou servidores ASU de terceiros, facilitando a instalação de firmware malicioso nos dispositivos das vítimas.
O serviço ASU é uma ferramenta crítica que permite aos usuários do OpenWrt gerar atualizações de firmware personalizadas para seus sistemas sem perder configurações ou pacotes instalados. Os usuários podem realizar essas atualizações usando uma interface web ou uma ferramenta de linha de comando, tornando o processo acessível e eficiente. No entanto, esta acessibilidade também introduz riscos, uma vez que a ausência de mecanismos de autenticação nas solicitações ao servidor deixa a porta aberta para que invasores explorem o sistema.
Menciona-se que o componente vulnerável, ASU Server, é responsável por gerenciar as solicitações, iniciando o processo automático de compilação de imagens utilizando o ImageBuilder, bem como armazenar essas imagens em cache para reutilização. A utilização do cache, embora eficiente, é a chave do problema, uma vez que não é verificada a integridade ou origem das imagens armazenadas.
El ataque explora funcionalidade central do serviço ASU permite que os usuários gerem imagens de firmware personalizadas através de solicitações enviadas sem autenticação. Um invasor pode manipular essas solicitações, introduzindo uma lista de pacotes especialmente criada para substituir imagens legítimas solicitadas por outros usuários por versões maliciosas pré-geradas. Isso é possível devido à forma como o servidor ASU gerencia o processo de geração de imagens e o cache.
Como funciona o ataque?
- O invasor envia uma solicitação ao servidor ASU, que não requer autenticação.
- Manipula a lista de pacotes para inserir no sistema imagens maliciosas já geradas.
- Quando outro usuário faz uma solicitação legítima de uma imagem semelhante, o servidor, em vez de gerar uma nova imagem, entrega a versão maliciosa de seu cache.
Quanto ao ataque, menciona-se que foi facilitado graças a uma alteração feita no dia 8 de julho e foi resolvido no dia 4 de dezembro. Para mitigar o impacto e proteger o serviço ASU, o OpenWrt utilizou servidores separados, isolados dos principais sistemas do projeto, sem acesso a recursos confidenciais, como chaves SSH e certificados usados para assinar digitalmente as imagens.
El o ataque foi possível graças a duas vulnerabilidades :
- Vulnerabilidade no manipulador de solicitação build_reques.py: qual permitiu que um invasor substituísse os comandos do processo de construção ao passar nomes de pacotes especialmente formatados. A falha na verificação adequada dos caracteres especiais nos nomes dos pacotes antes de usá-los como argumentos para o utilitário make permitiu que invasores inserissem comandos maliciosos durante o processo de criação da imagem do firmware. Como resultado, um invasor pode gerar imagens maliciosas no servidor, assinadas com a chave assembly correta.
- Vulnerabilidade na biblioteca util.py relacionado ao hash SHA-256: Neste caso, o Hashes SHA-256 usados para verificar imagens listas de firmware em cache foram reduzidos para apenas 12 caracteres, tornando o nível de entropia significativamente baixo. Essa redução permitiu que um invasor usasse técnicas de seleção de colisão para gerar uma imagem maliciosa cujo hash correspondesse legitimamente ao de uma imagem válida. Isso, combinado com a vulnerabilidade do Imagebuilder, permitiu ao invasor “poluir” o cache do servidor ASU e devolver imagens maliciosas a usuários normais que faziam solicitações legítimas.
Por fim, é mencionado que, embora o Os desenvolvedores do OpenWrt consideram que la probabilidade que essas vulnerabilidades foram efetivamente exploradas está próximo de zero, recomenda-se que os usuários da ASU substitua o firmware do OpenWrt em seus dispositivos com a mesma versão, por precaução.
Se você interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir