Vulnerabilidade no pacote Python Js2Py, baixado mais de um milhão de vezes por mês

No pacote Js2Py para Python, que foi baixado 1,2 milhões de vezes no mês passado, foi identificada uma vulnerabilidade (CVE-2024-28397) que permite contornar a isolação do sandbox e executar código no sistema ao processar dados especialmente formatados em JavaScript. A vulnerabilidade pode ser explorada em programas que utilizam Js2Py para executar código JavaScript. Até o momento, a correção está disponível apenas na forma de um patch. Um protótipo de exploit foi preparado para verificar a possibilidade de ataque.

O pacote Js2Py implementa um intérprete e um compilador de JavaScript, permitindo executar código JavaScript em um ambiente isolado máquina virtual ou compilar JavaScript para uma representação em Python. O projeto é escrito inteiramente em Python e não utiliza engines de JavaScript de terceiros. Na prática, a biblioteca é utilizada em vários indexadores web, sistemas de download e analisadores de sites que suportam o processamento de conteúdo gerado por código JavaScript.

Entre os aplicativos que são afetados pela vulnerabilidade estão o Lightnovel Crawler (uma ferramenta para baixar livros de serviços online e salvá-los em vários formatos para leitura offline), cloudscraper (que contorna automaticamente páginas de proteção contra bots usadas na CDN Cloudflare) e pyLoad (um gerenciador de downloads que suporta o processamento de páginas geradas em JavaScript). Ao processar conteúdo JavaScript especialmente formatado nesses aplicativos, um atacante pode conseguir executar código arbitrário no nível do sistema.

A vulnerabilidade está presente na implementação da variável global dentro do js2py, permitindo acessar um objeto Python a partir do código JavaScript executado no ambiente isolado, apesar da chamada ao método js2py.disable_pyimport() para desativar a importação de objetos Python. Para executar código arbitrário no sistema, o atacante pode explorar a vulnerabilidade para obter acesso ao objeto Popen do módulo Python subprocess. Notavelmente, a alteração para corrigir a vulnerabilidade foi enviada ao projeto Js2Py no dia primeiro de março, mas não foi aceita ao longo de três meses e meio.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster