CVE-2024-55603
Published: 19 December 2024
Summary
CVE-2024-55603 is a medium-severity Insufficient Session Expiration (CWE-613) vulnerability in Kanboard Kanboard. Its CVSS base score is 6.5 (Medium).
Operationally, ranked in the top 25.8% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-52822
Vulnerability details
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,…
more
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.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Locks the device (typically after inactivity) until re-authentication, addressing insufficient session expiration by preventing indefinite access.
Automatically terminating sessions after a defined period directly enforces session expiration, preventing indefinite session lifetimes that attackers can exploit.
Re-authentication after inactivity or time-based triggers prevents indefinite use of potentially hijacked or stale sessions.
Terminating sessions and network connections upon completion prevents insufficient session expiration.
Directly enforces termination of network sessions after inactivity or end-of-session, preventing indefinite session lifetime.
Consistent clocks across systems allow session expiration and timeout enforcement to function as intended in distributed environments.
When the non-persistent artifact is a session or connection, mandatory termination implements the missing expiration that CWE-613 describes.
Timed refresh of session-related information or on-demand generation plus deletion implements proper session expiration.