
Um PoC em python3 para CVE-2026-105030 Kener 4.0.0 anterior a 4.1.6 Divulgação Oculta de Dados de Monitor via API do Dashboard
Este repositório contém uma pequena prova de conceito em Python para testar um problema de divulgação de informações (CWE-200) nos endpoints públicos de monitoramento do Kener.
As versões afetadas do Kener são da 4.0.0 até a 4.1.5, e o problema foi corrigido na 4.1.6
https://www.rapid7.com/db/vulnerabilities/cve-2026-105030/
O problema está associado a consultas de monitores baseadas em tags que podem expor monitores ocultos ou inativos quando a consulta não é filtrada adequadamente.
Esta PoC destina-se a:
Não use esta PoC contra alvos não autorizados
Esta PoC demonstra que um monitor oculto ou inativo ainda pode ser retornado por endpoints públicos quando a consulta não aplica filtragem como:
O comportamento corrigido é que esses endpoints devem retornar 404 / nenhuma correspondência para monitores ocultos ou inativos.
requestsInstale as dependências:
python3 -m pip install requests
Se você tiver acesso ao banco de dados, crie um monitor que não deve ser visível publicamente.
Para Postgres:
INSERT INTO monitors (
tag, name, description, status, is_hidden,
category_name, monitor_type, cron, default_status,
created_at, updated_at
) VALUES (
'internal-secret-monitor',
'Internal Secret Monitor',
'Hidden/inactive monitor used for PoC',
'INACTIVE',
'YES',
'Home',
'HTTP',
'* * * * *',
'UP',
NOW(),
NOW()
);
Você também pode usar um nome de tag diferente, se necessário.
Certifique-se de que o registro esteja:
status = 'INACTIVE' ou de outra forma não ativois_hidden = 'YES'Agora execute o script PoC.
Se a aplicação estiver vulnerável, um ou mais endpoints podem retornar:
Isso indica que o monitor oculto/inativo está sendo exposto por meio de uma API pública.
Com a filtragem adequada, a resposta deve ser:
Este é o comportamento esperado após a correção:
const monitors = await db.getMonitors({
tag,
status: GC.ACTIVE,
is_hidden: GC.NO,
});
O problema não é apenas o sigilo da tag. O problema é que um endpoint público nunca deve revelar dados de monitores ocultos ou inativos. Se um atacante descobrir a tag de um monitor por qualquer meio, ele poderá acessar:
O atacante ainda precisa encontrar a tag de alguma forma, por adivinhação, por força bruta ou por outros meios.
Verifique se:
Certifique-se de que a aplicação está em execução localmente e que a porta corresponde:
BASE_URL=http://localhost:3000
Use a URL correta, por exemplo:
BASE_URL=https://localhost:3000
Use esta PoC apenas:
Não execute isto contra sistemas externos ou de terceiros sem permissão.
Esta PoC verifica se uma tag de monitor oculto ou inativo ainda está acessível por meio dos endpoints públicos da API do Kener.