Recentemente foi descoberto que o Apache Commons Text tem uma falha de execução remota. Conheça e saiba o que fazer para se proteger.
O Apache Commons Text é uma biblioteca Java de código aberto popular com um “sistema de interpolação” que permite aos desenvolvedores modificar, decodificar, gerar e escapar strings com base em pesquisas de strings inseridas.
Por exemplo, passar a pesquisa de string ${base64Decoder:SGVsbG9Xb3JsZCE=}
para o sistema de interpolação faria com que a biblioteca a convertesse em seu valor decodificado em base64 de ‘HelloWorld!’.
Agora uma falha de execução remota de código na biblioteca de código aberto Apache Commons Text tem algumas pessoas preocupadas que ela possa se transformar no próximo Log4Shell.
No entanto, a maioria dos pesquisadores de segurança cibernética diz que não é nem de longe tão preocupante.
Apache Commons Text tem uma falha de execução remota
A nova vulnerabilidade CVE-2022-42889 no Apache Commons Text, apelidada de “Text4Shell”, é causada pela avaliação de script insegura pelo sistema de interpolação que pode acionar a execução de código ao processar entradas maliciosas na configuração padrão da biblioteca.
“Começando com a versão 1.5 e continuando até a 1.9, o conjunto de instâncias Lookup padrão incluía interpoladores que poderiam resultar na execução arbitrária de código ou contato com servidores remotos”, detalha um desenvolvedor na lista de discussão do Apache.
“Aplicativos que usam os padrões de interpolação nas versões afetadas podem ser vulneráveis a RCE ou contato não intencional com servidores remotos se forem usados valores de configuração não confiáveis.”
“Recomenda-se que os usuários atualizem para o Apache Commons Text 1.10.0, que desativa os interpoladores problemáticos por padrão.”
O problema foi descoberto pelo analista de ameaças do GitHub, Alvaro Munoz, e relatado ao Apache em 9 de março de 2022.
No entanto, os desenvolvedores da biblioteca de código aberto levaram 7 meses, até 12 de outubro de 2022, para lançar uma correção na versão 1.10.0, que desativa a interpolação.
Devido à ampla implantação da biblioteca vulnerável e como a falha afeta as versões que datam de 2018, alguns inicialmente se preocuparam que isso pudesse causar danos generalizados, como vimos com a vulnerabilidade Log4Shell.
No entanto, um relatório do Rapid7 rapidamente interrompeu essas preocupações, explicando que nem todas as versões entre 1.5 e 1.9 parecem vulneráveis e que seu potencial de exploração estava ligado à versão do JDK usada.
Mesmo com uma exploração de prova de conceito (PoC) atualizada usando o mecanismo JEXL como um caminho de exploração contorna a limitação do JDK, os pesquisadores ainda não estão muito preocupados.
Além disso, a equipe de segurança do Apache disse que o escopo da falha não é tão grave quanto o Log4Shell, explicando que a interpolação de strings é um recurso documentado.
Portanto, é menos provável que os aplicativos que usam a biblioteca passem inadvertidamente entradas inseguras sem validação.
Embora a falha crítica de gravidade tenha permanecido sem correção por sete meses e exposta a tentativas de exploração, não houve relatos de abuso na natureza, mesmo depois que as explorações foram lançadas.
Embora provavelmente veremos alguns agentes de ameaças explorando o CVE-2022-42889 no futuro, provavelmente seu escopo será limitado.
Por enquanto, todos os desenvolvedores que utilizam a biblioteca Apache Commons Text são aconselhados a atualizar para a versão 1.10 ou posterior o mais rápido possível para corrigir a falha.
O pesquisador de segurança Sean Wright adverte que alguns projetos Java mantêm todos os arquivos de classe de biblioteca em um único jar e precisarão ser verificados de forma independente.
Para ajudar a encontrar versões vulneráveis da biblioteca Apache Commons Text, a Silent Signal lançou um plug-in Burp que pode verificar aplicativos em busca de componentes não corrigidos em relação ao CVE-2022-42889.