Telerik RadAsyncUpload RCE através de configurações de upload criptografadas forjadas

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
Telerik
Progress
Produto
Assembly.Loadfrom
Dllmain
Iis
Javascriptserializer
.Net
Radasyncupload
Mais