Telerik RadAsyncUpload RCE através de configurações de upload criptografadas forjadas
Técnicas e Métodos de AtaqueOntem, 12:23
Telerik RadAsyncUpload RCE através de configurações de upload criptografadas forjadas
RadAsyncUpload, o componente de upload de arquivos no Telerik UI for ASP.NET AJAX, armazenava suas regras de upload em um blob JSON criptografado com AES-CBC retornado pelo navegador. Como o blob não era autenticado, falhas distinguíveis de descriptografia e análise JSON criaram um oráculo de padding. Os pesquisadores o usaram para alterar as extensões de arquivo permitidas, enviar uma DLL e executar código como a identidade do pool de aplicativos do IIS.• Forjando a configuração de upload — Padding PKCS#7 inválido gerava um erro criptográfico, enquanto padding válido seguido de JSON malformado chegava a um erro de análise. Consultas repetidas expuseram informações suficientes para recuperar e modificar a configuração sem a chave de criptografia. Um IV fixo impedia o exploit de substituir o JSON desde seu primeiro byte, então ele mantinha um prefixo genuíno e forjava apenas o sufixo. O sufixo adicionava um segundo campo
AllowedFileExtensions, e JavaScriptSerializer aceitava seu valor final, permitindo uploads de DLL.• Transformando o upload em execução de código — Os metadados de upload permitiam que o cliente selecionasse o tipo .NET usado para processar o resultado. O exploit definia
AsyncUploadTypeName como System.Configuration.Install.AssemblyInstaller e apontava Path para a DLL enviada. Quando o aplicativo lia UploadResult, o Telerik instanciava a classe selecionada e carregava o arquivo por meio de Assembly.LoadFrom. O Windows então invocava DllMain, executando o payload.A cadeia exige uma página exposta contendo
RadAsyncUpload, uma Telerik.AsyncUpload.ConfigurationEncryptionKey explícita e um manipulador de upload do lado do servidor que leia UploadResult. A Progress lista as versões 2010.1.309 até 2026.2.519 como afetadas e corrige o problema em 2026.2.708 substituindo AES-CBC por AES-GCM. O exploit público automatiza o oráculo baseado em erro; os pesquisadores também confirmaram um oráculo de temporização quando erros detalhados estão ocultos, mas não publicaram esse modo.Fornecedor
Produto
Mais