Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 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 →
2há 25 diasAinda não revisado
Compartilhar

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

Gravidade: Alta, CVSS 4.0 8.5, CVSS 3.1 7.8 (atribuída 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

Afetados: uproot <= 5.7.4

Corrigido em: 5.7.5 / commit c045c28

CWE: CWE-94 (Controle inadequado da geração de código, injeção de código); CWE-95 secundária (injeção de eval)

Reportado por: Sai Teja Erukude

CNA: VulnCheck

Publicado: 18 de julho de 2026


Resumo

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

TStreamerInfo

Alguns campos de metadados do streamer controlados por arquivo são interpolados no código-fonte Python gerado sem aspas ou escape seguros. Um atacante que possa fornecer um arquivo ROOT malicioso pode injetar conteúdo que quebra expressões Python nos metadados do streamer, como um nome de elemento malicioso.

Quando um aplicativo afetado abre o arquivo ROOT malicioso e o uproot gera e invoca o método de leitura 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 usando as rotas de código afetadas 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 trabalhos de processamento de dados ou o comportamento da aplicação.

Detalhe Técnico

O problema está no caminho de código-fonte gerado do uproot para metadados de streamer do ROOT.

O PoC cria um arquivo ROOT contendo metadados TStreamerInfo maliciosos para uma classe ExploitTarget. O nome do elemento do streamer malicioso rompe a expressão gerada e injeta uma chamada benigna a pathlib.

O comportamento relatado é:

  1. O uproot abre o arquivo ROOT malicioso.
  2. O uproot lê os metadados TStreamerInfo baseados em 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. Invocar o 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 maliciosos.

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

Execute apenas em um ambiente de teste local:

root@kitploit:~
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:

root@kitploit:~
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

A carga útil é intencionalmente inofensiva. Ela apenas grava esta string de marcador local:

root@kitploit:~
executed through uproot generated read_members

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

Remediação

Atualize para 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 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 abram automaticamente arquivos ROOT enviados ou fornecidos externamente.

Linha do Tempo da Divulgação

DataEvento
20 de maio de 2026Vulnerabilidade submetida à 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édito

Descoberto e reportado por Sai Teja Erukude, coordenado por meio da 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 da 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