Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-9147-uproot-rce — uproot <= 5.7.4 injeção de código via geração insegura de código-fonte Python a partir dos metadados TStreamerInfo do ROOT. | Kitploit
Ferramentas/GitHubGitHub/saiteja-erukude/cve-2026-9147-uproot-rce
Geração de PayloadsAnálise de VulnerabilidadesExploração
GitHubsaiteja-erukude/cve-2026-9147-uproot-rce

CVE-2026-9147-uproot-rce

uproot <= 5.7.4 injeção de código via geração insegura de código-fonte Python a partir dos metadados TStreamerInfo do ROOT.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
26há 10 diasAinda não revisado
Compartilhar

CVE-2026-9147: Injeção de Código no uproot via Metadados TStreamerInfo

Severidade: Alta, CVSS 4.0 8.5, CVSS 3.1 7.8 (atribuído pela VulnCheck, a CNA)

Vetor (v4.0): CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Vetor (v3.1): CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Afetado: uproot <= 5.7.4

Corrigido em: 5.7.5 / commit c045c28

CWE: CWE-94 (Controle Impróprio da Geração de Código, Injeção de Código); CWE-95 secundária (Injeção de Eval)

Descoberto e reportado por: Sai Teja Erukude

Publicado: 18 de julho de 2026


Resumo

O uproot 5.7.4 e versões anteriores geram dinamicamente o código-fonte de classes Python a partir dos metadados TStreamerInfo do ROOT e o compilam em tempo de execução.

Alguns campos de metadados de streamer controlados pelo arquivo são interpolados no código-fonte Python gerado sem aspas seguras. Um atacante que consiga fornecer um arquivo ROOT especialmente construído pode injetar conteúdo que quebra expressões Python nos metadados do streamer, como um nome de elemento especialmente construído.

Quando uma aplicação afetada abre o arquivo ROOT especialmente construído e o uproot gera e invoca o método leitor correspondente, a expressão Python injetada pode ser executada no contexto do processo hospedeiro.

Impacto

Um atacante pode executar código Python arbitrário em aplicações que abrem ou processam arquivos ROOT controlados pelo atacante por meio dos caminhos de código afetados do uproot.

Dependendo da aplicação, isso pode permitir:

  • Ler ou modificar arquivos acessíveis ao processo.
  • Acessar variáveis de ambiente e segredos da aplicação.
  • Chamar serviços internos acessíveis a partir do host.
  • Interromper tarefas de processamento de dados ou o comportamento da aplicação.

Detalhe Técnico

O problema está no caminho de geração de código-fonte do uproot para metadados de streamer do ROOT.

O PoC cria um arquivo ROOT contendo metadados TStreamerInfo especialmente construídos para uma classe ExploitTarget. O nome do elemento de streamer especialmente construído escapa da expressão gerada e injeta uma chamada benigna de pathlib.

O comportamento relatado é:

  1. O uproot abre o arquivo ROOT especialmente construído.
  2. O uproot lê os metadados TStreamerInfo armazenados no arquivo.
  3. O uproot gera o código-fonte da classe Python para ExploitTarget.
  4. O código-fonte da classe gerada contém a expressão injetada.
  5. A invocação do método read_members gerado executa a expressão injetada.

Prova de Conceito

root_file_builder.py cria malicious_tstreamerinfo.root com metadados de streamer especialmente construídos.

run_poc.py abre o arquivo com o uproot, força a geração da classe ExploitTarget armazenada no arquivo, invoca o método read_members gerado e verifica a evidência do arquivo marcador.

Execute apenas em um ambiente de teste local:

python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

Evidência esperada em versões vulneráveis:

uproot_version: 5.7.4
file_backed_element_name_contains_payload: True
class_code_contains_injected_pathlib_call: True
expected_exception: True
exception_type: DeserializationError
marker_exists: True
marker_contents:
executed through uproot generated read_members
success: True

O payload é intencionalmente inofensivo. Ele apenas escreve esta string de marcador local:

executed through uproot generated read_members

Ele não abre um shell, conecta-se a um serviço de rede, lê segredos, exclui dados ou modifica arquivos fora do diretório do PoC.

Correção

Atualize para o uproot 5.7.5 ou posterior.

Se a atualização imediata não for possível:

  • Não processe arquivos ROOT de usuários não confiáveis.
  • Isole os trabalhos de processamento de arquivos ROOT com privilégios mínimos.
  • Valide ou rejeite metadados TStreamerInfo inesperados antes do processamento.
  • Evite fluxos de trabalho que abrem automaticamente arquivos ROOT enviados ou fornecidos externamente.

Cronologia da Divulgação

DataEvento
20 de maio de 2026Vulnerabilidade enviada ao VulnCheck
20 de maio de 2026VulnCheck iniciou o contato; CVE-2026-9147 alocado provisoriamente
5 de julho de 2026uproot 5.7.5 lançado com a correção
18 de julho de 2026CVE-2026-9147 publicado

Créditos

Descoberto e reportado por Sai Teja Erukude.

A divulgação foi coordenada pelo VulnCheck.

Referências

  • Registro CVE: https://www.cve.org/CVERecord?id=CVE-2026-9147
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-9147
  • Aviso do VulnCheck: https://www.vulncheck.com/advisories/uproot-and-before-code-injection-via-tstreamerinfo-metadata
  • Aviso do GitHub: https://github.com/scikit-hep/uproot5/security/advisories/GHSA-6946-mq52-g438
  • Commit da correção: https://github.com/scikit-hep/uproot5/commit/c045c2824295d907d2e705f31110c742928e50e7
  • Projeto uproot: https://github.com/scikit-hep/uproot5
Baixar ferramenta