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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-0897 — Alocação de recursos sem limites ou limitação de taxa no componente de carregamento de pesos HDF5 no Google Keras 3.0.0 até 3.13.0 em todas as plataformas permite que um atacante remoto cause uma Negação de Serviço (DoS) por meio de esgotamento de memória e uma falha do interpretador Python via um arquivo .keras maliciosamente criado. | Kitploit
Ferramentas/GitHubGitHub/hyperps/cve-2026-0897
Análise de VulnerabilidadesExploraçãoAnálise de MalwarePapers e PesquisaAprendizado e Educação
GitHubhyperps/cve-2026-0897

CVE-2026-0897

Ver Repositório
111há 6 mesesAinda não revisado

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 →

Sobre

Alocação de recursos sem limites ou limitação de taxa no componente de carregamento de pesos HDF5 no Google Keras 3.0.0 até 3.13.0 em todas as plataformas permite que um atacante remoto cause uma Negação de Serviço (DoS) por meio de esgotamento de memória e uma falha do interpretador Python via um arquivo .keras maliciosamente criado.

Compartilhar

CVE-2026-0897 — Google Keras: Negação de Serviço via Bomba de Forma HDF5 no Carregamento de Pesos


Visão Geral

CampoDetalhes
ID do CVECVE-2026-0897
Pacotekeras (Google Keras)
RegistroPyPI
Versões Afetadas3.0.0 a 3.13.0 (inclusive)
Tipo de VulnerabilidadeCWE-770: Alocação de Recursos Sem Limites ou Regulação
Pontuação CVSS7.1 Alta (CVSS 4.0, CNA: Google Inc.)
Vetor CVSSCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Vetor de AtaqueRede
Complexidade do AtaqueBaixa
Privilégios NecessáriosNenhum
Interação do UsuárioPassiva (a vítima carrega um arquivo de modelo)
Impacto na DisponibilidadeAlto
Impacto na ConfidencialidadeNenhum
Impacto na IntegridadeNenhum
Publicado no NVD15 de janeiro de 2026
Última Modificação no NVD23 de janeiro de 2026
Fonte / CNAGoogle Inc.
Relatado PorHyperPS (Sarvesh Patil) via huntr.dev / GHSA
Status da CorreçãoMesclado — PR #21880

Descrição

Existe uma vulnerabilidade de Negação de Serviço no componente de carregamento de pesos HDF5 do Google Keras versões 3.0.0 a 3.13.0 em todas as plataformas. A vulnerabilidade é causada pela ausência de qualquer validação ou limitação ao processar metadados de forma de datasets HDF5 declarados dentro de um arquivo .keras.

O formato HDF5 permite que datasets declarem sua forma (dimensões do tensor) como metadados. Quando o Keras carrega pesos de modelo de um arquivo .keras, ele lê essa forma declarada e tenta alocar um bloco de memória correspondente antes que qualquer dado seja transferido. Como o Keras não realiza nenhuma verificação de limites na forma declarada antes da alocação, um atacante pode criar um arquivo model.weights.h5 que declara uma forma astronomicamente grande — por exemplo (1000000, 1000000, 1000000) — fazendo com que o Keras tente uma alocação de memória na escala de petabytes. Isso esgota toda a memória disponível do sistema e derruba o interpretador Python.

Nenhuma inferência ou interação adicional é necessária após o carregamento do modelo. O ataque é totalmente acionado no momento do carregamento.


Componente Afetado

ArquivoDescrição
keras/src/saving/file_editor.pyKerasFileEditor._extract_weights_from_store() — lê a forma do dataset HDF5 e aloca memória sem validação de tamanho ou limitação

A vulnerabilidade está localizada especificamente na classe KerasFileEditor, que é responsável por desserializar tensores de pesos de modelo a partir de armazenamentos HDF5 embutidos em arquivos .keras.


Detalhamento do Vetor CVSS 4.0

MétricaValorSignificado
Vetor de Ataque (AV)RedeExplorável remotamente por meio de um arquivo de modelo distribuído
Complexidade do Ataque (AC)BaixaNenhuma condição especial ou condição de corrida necessária
Requisitos de Ataque (AT)NenhumNenhuma configuração de implantação prévia necessária
Privilégios Necessários (PR)NenhumNenhuma autenticação ou conta necessária
Interação do Usuário (UI)PassivaA vítima deve carregar o arquivo .keras malicioso
Disponibilidade do Sistema Vulnerável (VA)AltaO interpretador Python falha; o serviço fica completamente indisponível
Confidencialidade do Sistema Vulnerável (VC)NenhumNenhuma divulgação de dados
Integridade do Sistema Vulnerável (VI)NenhumNenhuma modificação de dados
Impacto em Sistemas Subsequentes (SC/SI/SA)NenhumO impacto está contido no processo de carregamento

Impacto

  • Negação de Serviço Completa — O interpretador Python falha e o processo é encerrado quando o arquivo malicioso é carregado
  • Esgotamento de Memória — A RAM do sistema é rapidamente consumida ao tentar atender à alocação declarada, potencialmente afetando outros serviços co-localizados
  • Interrupção de Pipelines de ML — Qualquer pipeline de produção ou pesquisa que carregue arquivos de modelo .keras de fontes não confiáveis ou fornecidas por usuários está vulnerável
  • Nenhuma Autenticação Necessária — Um atacante só precisa que a vítima carregue um arquivo malicioso; o ataque não exige credenciais nem acesso prévio

Contextos de Implantação de Alto Risco

ContextoRisco
APIs públicas de serviço de modelos que aceitam arquivos .keras enviados por usuáriosO atacante derruba o serviço de inferência com uma única solicitação
Plataformas de ML que hospedam downloads comunitários de modelos (ex.: Hugging Face)Um modelo envenenado causa DoS para qualquer pesquisador que o baixe e carregue
Ambientes de aprendizado federadoUm participante malicioso distribui um arquivo de pesos criado sob medida para derrubar o coordenador ou os nós pares
Pipelines de CI/CD que carregam checkpoints de modeloUm checkpoint comprometido ou substituído causa falha e indisponibilidade do pipeline
Chatbots ou serviços de PLN que recarregam modelos em tempo de execuçãoUma única solicitação maliciosa de recarga derruba o serviço

Detalhes Técnicos

Mecanismo de Ataque: Bomba de Forma HDF5

O formato de arquivo HDF5 armazena metadados de tensor — incluindo declarações de forma — separadamente dos bytes de dados reais. Quando KerasFileEditor._extract_weights_from_store() encontra uma entrada de dataset, ele lê a forma declarada e chama o NumPy para pré-alocar um array com as dimensões correspondentes antes de ler qualquer dado do disco.

Como a forma é um metadado, um arquivo HDF5 mínimo pode declarar uma forma que exigiria petabytes de memória enquanto o próprio arquivo permanece com apenas alguns kilobytes de tamanho. A proporção entre o tamanho do arquivo e o tamanho da alocação torna isso um ataque de amplificação altamente eficaz.

Uma forma como (1000000, 1000000, 1000000) com um dtype float de 32 bits solicitaria aproximadamente 4.000 petabytes de memória. O out-of-memory killer do sistema operacional ou o alocador do Python derrubará o processo quase que instantaneamente.

Caminho de Código Vulnerável (antes da correção)

# keras/src/saving/file_editor.py (pre-fix, simplified)
def _extract_weights_from_store(self, h5_file, inner_path=""):
    for key in h5_file.keys():
        obj = h5_file[key]
        if isinstance(obj, h5py.Dataset):
            # Shape is read from metadata — no validation performed
            shape = obj.shape
            # NumPy attempts to allocate based on declared shape
            data = np.zeros(shape, dtype=obj.dtype)  # VULNERABLE: unbounded allocation

A ausência de qualquer verificação em shape antes de chamar np.zeros() é a causa raiz.


Prova de Conceito

Esta informação é fornecida apenas para fins educacionais e de defesa. Não teste em sistemas que você não possui ou para os quais não tem autorização explícita para testar.

Gerando um Arquivo .keras Malicioso

# generate_shape_bomb.py
import h5py
import zipfile
import json
import os
Baixar ferramenta