![Falha encontrada na linguagem de Programação R 2 Falha encontrada na linguagem de Programação R](https://www.13secnews.com/wp-content/uploads/2024/04/d6747078-817f-4d55-bd76-b2ae7ecb0a25.jpeg)
Falha de segurança na linguagem de programação R que pode ser explorada por agentes mal-intencionados. Essa vulnerabilidade está relacionada à desserialização de dados não confiáveis e afeta arquivos nos formatos RDS (R Data Serialization) e .rdx.
A causa raiz dessa vulnerabilidade, conhecida como CVE-2024-27322, reside no fato de que dados não confiáveis, quando desserializados, podem levar à execução arbitrária de código. Isso significa que um invasor pode criar arquivos maliciosos no formato RDS ou .rdx, e quando esses arquivos são carregados e referenciados, comandos arbitrários podem ser executados no dispositivo da vítima.
Essa falha de segurança expõe os usuários a ataques à cadeia de suprimentos, especialmente por meio de pacotes R especialmente criados. Os pacotes R utilizam o formato RDS para salvar e carregar dados, e é nesse ponto que a execução automática de código malicioso pode ocorrer.
Portanto, é crucial que os desenvolvedores estejam cientes dessa vulnerabilidade e tomem medidas para mitigá-la, como atualizar seus sistemas e verificar a origem e integridade dos pacotes R utilizados em seus projetos.
A linguagem de programação R oferece suporte à serialização de dados, que é o processo de transformar objetos e dados R em um formato que pode ser desserializado em outra sessão R. Isso permite criar uma cópia dos objetos R da sessão original.
![Falha encontrada na linguagem de Programação R 3 Falha encontrada na linguagem de Programação R](https://www.13secnews.com/wp-content/uploads/2024/04/f0505065-cdf7-492c-af9f-7c258a3ccefb.jpeg)
Origem da Falha
A origem do problema do CVE-2024-27322 está no fato de que isso poderia resultar na execução arbitrária de código ao deserializar dados não confiáveis, expondo os usuários a ataques à cadeia de suprimentos através de pacotes R especialmente projetados.
Um invasor interessado em explorar a vulnerabilidade poderia se beneficiar do fato de que os pacotes R utilizam o formato RDS para salvar e carregar dados, resultando na execução automática de código quando o pacote é descompactado e desserializado.
“Pacotes R são suscetíveis a esse exploit e, portanto, podem ser empregados como parte de um ataque à cadeia de suprimentos através de repositórios de pacotes”, afirmaram os pesquisadores de segurança Kasimir Schulz e Kieran Evans.
“Para um invasor assumir um pacote R, tudo o que precisa fazer é substituir o arquivo rdx por um arquivo criado maliciosamente, e quando o pacote é carregado, ele executa automaticamente o código.” A falha de segurança foi corrigida na versão 4.4.0 lançada em 24 de abril de 2024, após uma divulgação responsável.
“Um invasor pode explorar essa [falha] criando um arquivo no formato RDS que contém uma instrução promise configurando o valor para unbound_value e a expressão para conter código arbitrário”, declarou a HiddenLayer.
Devido à avaliação lazy, a expressão só será avaliada e executada quando o símbolo associado ao arquivo RDS for acessado.
Portanto, se for apenas um arquivo RDS, quando um usuário o atribui a um símbolo (variável) para trabalhar com ele, o código arbitrário será executado quando o usuário referenciar esse símbolo.
Se o objeto for compilado em um pacote R, o pacote pode ser adicionado a um repositório R, como o CRAN, e a expressão será avaliada e o código arbitrário será executado quando um usuário carregar esse pacote.
O Centro de Coordenação CERT (CERT/CC) emitiu um alerta para o CVE-2024-27322, destacando que a vulnerabilidade poderia ser explorada para realizar execução arbitrária de código no dispositivo alvo da vítima através de arquivos RDS ou rdx maliciosos.
“Um invasor pode criar arquivos .rds e .rdx mal-intencionados e usar técnicas de engenharia social para distribuir esses arquivos e executar código arbitrário no dispositivo da vítima”, afirmou o CERT/CC.
Projetos que utilizam readRDS em arquivos não confiáveis também estão expostos ao ataque.
Aplicar atualizações
O projeto R forneceu o R Core versão 4.4.0, que resolve a vulnerabilidade. O R Core versão 4.4.0 agora restringe promessas no fluxo de serialização para que agora sejam usadas para implementar avaliação lenta. Aplique a atualização o mais rápido possível.
Uso de arquivo RDS seguro ou sandbox
Proteja e use arquivos .rds, rdb e .rdx não confiáveis/de terceiros em contêineres ou em um ambiente Sandbox para evitar acesso inesperado aos recursos.
+Mais
Golpes virtuais atingem 1,8 milhão de vítimas no Brasil
Brasil avança na cibersegurança e sobe para 6ª posição no ranking mundial
Novo malware Emansrepo transforma arquivos HTML em armas para atacar usuários do Windows