Insufficient session invalidation in Kanboard
Description
Kanboard is project management software that focuses on the Kanban methodology. In affected versions sessions are still usable even though their lifetime has exceeded. Kanboard implements a cutom session handler (app/Core/Session/SessionHandler.php), to store the session data in a database. Therefore, when a session_id is given, kanboard queries the data from the sessions sql table. At this point, it does not correctly verify, if a given session_id has already exceeded its lifetime (expires_at). Thus, a session which's lifetime is already > time(), is still queried from the database and hence a valid login. The implemented SessionHandlerInterface::gc function, that does remove invalid sessions, is called only with a certain probability (_Cleans up expired sessions. Called by session_start(), based on session.gc_divisor, session.gc_probability and session.gc_maxlifetime settings_) accordingly to the php documentation. In the official Kanboard docker image these values default to: session.gc_probability=1, session.gc_divisor=1000. Thus, an expired session is only terminated with probability 1/1000. This issue has been addressed in release 1.2.43 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2Patches
Vulnerability mechanics
References
8- github.com/kanboard/kanboard/blob/main/app/Core/Session/SessionHandler.phpmitrex_refsource_MISC
- github.com/kanboard/kanboard/commit/7ce61c34d962ca8b5dce776289ddf4b207be6e78mitrex_refsource_MISC
- github.com/kanboard/kanboard/security/advisories/GHSA-gv5c-8pxr-p484mitrex_refsource_CONFIRM
- www.php.net/manual/en/function.session-start.phpmitrex_refsource_MISC
- www.php.net/manual/en/session.configuration.phpmitrex_refsource_MISC
- www.php.net/manual/en/session.configuration.phpmitrex_refsource_MISC
- www.php.net/manual/en/session.configuration.phpmitrex_refsource_MISC
- www.php.net/manual/en/sessionhandlerinterface.gc.phpmitrex_refsource_MISC
News mentions
0No linked articles in our index yet.