Kanboard · Kanboard · CVE-2024-55603
**Nome do software vulnerável e versões afetadas**
Versões do Kanboard anteriores à 1.2.43
**Descrição**
O Kanboard é um software de gerenciamento de projetos baseado na metodologia Kanban. Nas versões afetadas, as sessões continuam acessíveis mesmo após o término de sua validade. O Kanboard implementa um manipulador de sessão personalizado (`app/Core/Session/SessionHandler.php`) para armazenar os dados da sessão em um banco de dados. Quando um `session id` é fornecido, o Kanboard consulta os dados da tabela SQL `sessions`. No entanto, ele não verifica corretamente se um determinado `session id` já excedeu seu tempo de vida (`expires at`). Assim, uma sessão cujo tempo de vida já seja `> time()` ainda é consultada no banco de dados e, portanto, considerada um login válido. A função `SessionHandlerInterface::gc` implementada, que remove sessões inválidas, é chamada apenas com uma certa probabilidade, com base nas configurações `session.gc divisor`, `session.gc probability` e `session.gc maxlifetime`. Na imagem oficial do Kanboard para Docker, esses valores padrão são: `session.gc probability=1`, `session.gc divisor=1000`. Assim, uma sessão expirada é encerrada apenas com uma probabilidade de 1/1000.
**Recomendações**
Para resolver o problema, atualize para a versão 1.2.43 ou posterior.
Como solução temporária, considere ajustar as configurações `session.gc probability` e `session.gc divisor` para aumentar a probabilidade de encerramento das sessões expiradas.
Restrinja o acesso ao módulo `app/Core/Session/SessionHandler.php` para minimizar o risco de exploração.
A