Arm · Arm Compiler · CVE-2020-24658
**Nome do software vulnerável e versões afetadas**
Compilador Arm, versões 5 a 5.06u6
**Descrição**
O problema diz respeito a um recurso de proteção de pilha projetado para ajudar a detectar estouros de buffer baseados na pilha em matrizes locais. Quando esse recurso está ativado, uma função protegida grava um valor de proteção na pilha antes de qualquer matriz vulnerável. O valor de proteção é verificado quanto a corrupção no retorno da função, levando a uma chamada do manipulador de erros se estiver corrompido. No entanto, em certas circunstâncias, o valor de referência comparado com o valor de proteção também é gravado na pilha, potencialmente após as matrizes vulneráveis, quando a função fica sem registros para dados temporários. Isso pode fazer com que a proteção de pilha não consiga detectar a corrupção se tanto o valor de referência quanto o valor de proteção forem sobrescritos com o mesmo valor, o que exigiria tanto um estouro de buffer quanto um subfluxo de buffer nas matrizes vulneráveis, ou outra vulnerabilidade que causasse a corrupção de duas entradas separadas na pilha.
**Recomendações**
Para as versões 5 a 5.06u6 do Arm Compiler, considere desativar temporariamente o recurso de proteção da pilha até que um patch esteja disponível, como uma solução alternativa para minimizar o risco de exploração. Restrinja o uso de matrizes vulneráveis em funções locais para reduzir a probabilidade de estouros e subfluxos de buffer. Evite usar a pilha para dados temporários sempre que possível, para impedir que o valor de referência seja gravado na pilha. No momento, não há informações sobre uma versão mais recente que contenha