Esta falha é dada pelo CVE-2019-12758, que permitia uma elevação de privilégios nos sistemas afetados, e dessa forma o atacante podia incorrer em ações malignas, incluindo a execução de código malicioso com privilégios de administrador.
Versões vulneráveis
Anteriores a 14.2 RU2
A falha está presente no mecanismo de autodefesa, algo comum a todas as soluções de antivírus, que permitiria ao atacante ultrapassar e devolver payloads maliciosos de forma persistente.
De acordo com o SafeBreach, o mecanismo de autodefesa da Symantec podia ser ultrapassado e dessa forma conseguir elevar os privilégios do atacante através do carregamento de um DLL arbitrário e sem validação num processo que corre no sistema já como NT AUTHORITY/SYSTEM.
Prova de Conceito
Os investigadores conseguiram descobrir um serviço - SepMasterService - pertencente ao próprio Symantec Endpoint Protection, que corria como um processo de confiança, e que carregava um DLL que não existia: c:\Windows\SysWOW64\wbem\DSPARSE.dll”.
Desta forma, o que fizeram foi compilar um DLL de 32-bit a partir desse ficheiro e implantá-lo no path C:\Windows\SysWow64\Wbem. Após o reinício do sistema, conseguiram carregar esse ficheiro modificado e executar código no sistema.
Posto este teste, há duas causas principais para a existência da falha:
- Falta de validação da assinatura feita contra o binário
- A library fastprox.dll tenta importar o dsparse.dll a partir do diretório corrente (CWD), que é C:\Windows\SysWow64\Wbem, enquanto o ficheiro está, na verdade, localizado na pasta SysWow64.
Mais informações: https://www.bleepingcomputer.com/news/security/symantec-fixes-privilege-escalation-flaw-in-endpoint-protection/