
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 monitor do Kener. No momento da publicação, nenhum outro PoC público foi identificado.
As versões do Kener afetadas 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 monitor baseadas em tags que podem expor monitores ocultos ou inativos quando a consulta não é filtrada adequadamente.
Este PoC destina-se a:
Não use este PoC contra alvos não autorizados
Este 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()
);
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, em vez disso:
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 deveria revelar dados de monitores ocultos ou inativos. Se um atacante descobrir a tag de um monitor por qualquer meio, ele pode conseguir acessar:
O atacante ainda precisa encontrar a tag de alguma forma, seja por adivinhação, por força bruta ou por outros meios.
Verifique se:
Certifique-se de que o app está rodando localmente e que a porta corresponde:
BASE_URL=http://localhost:3000
Use a URL correta, por exemplo:
BASE_URL=https://localhost:3000
Use este PoC apenas:
Não execute isto contra sistemas externos ou de terceiros sem permissão.
Este PoC verifica se uma tag de monitor oculta ou inativa ainda está acessível através dos endpoints públicos da API do Kener.